0

JNDIを登録しました。Conrext.createSubcontext を呼び出すと、例外が発生します。

javax.naming.OperationNotSupportedException
at com.sun.jndi.rmi.registry.RegistryContext.createSubcontext(RegistryContext.java:226)
at com.sun.jndi.toolkit.url.GenericURLContext.createSubcontext(GenericURLContext.java:390)
at javax.naming.InitialContext.createSubcontext(InitialContext.java:464)

実装は次のようになります。

 Registry reg = LocateRegistry.createRegistry(1099);

 Properties properties = new Properties();
 properties.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");
 properties.put(Context.URL_PKG_PREFIXES, "org.jboss.naming:org.jnp.interfaces");
 properties.put(Context.PROVIDER_URL, "localhost:1099");

 InitialContext initialContextcontext = new InitialContext(properties);

 ic.createSubcontext("rmi://localhost/java:jdbc");

私が見逃した場所を提案してください。

4

1 に答える 1

1

プロバイダーはサブコンテキストをサポートしていません。RMI レジストリ自体にはありません。1 次元の名前空間を提供します。

JNP に間違ったプロバイダーを使用している可能性があります。

于 2013-05-15T22:48:49.420 に答える