J2EE コンテナーのオーバーヘッドなしで JNDI プロバイダーを実行する必要があります。私がやりたいことを正確に説明しているこの記事(3 ページ) の指示に従おうとしました。残念ながら、これらの指示は失敗します。jboss-common.jar もクラスパスに追加する必要がありました。これを行うと、スタック トレースが得られます。
$ java org.jnp.server.Main
0 [main] DEBUG
org.jboss.naming.Naming - Creating
NamingServer stub, theServer=null,rmiPort=0,clientSocketFactory=null,serverSocketFactory=org.jboss.net.sockets.DefaultSocketFactory@ad093076[bindAddress=null]
Exception in thread "main"
java.lang.NullPointerException
at org.jnp.server.Main.getNamingInstance(Main.java:301)
at org.jnp.server.Main.initJnpInvoker(Main.java:354)
at org.jnp.server.Main.start(Main.java:316)
at org.jnp.server.Main.main(Main.java:104)
私はこれを機能させたいと思っていますが、他の軽量のスタンドアロン JNDI プロバイダーにもオープンです。これらはすべて ActiveMQ を機能させるためのものであり、VM の外部でうまく機能する別の軽量 JMS プロバイダーを誰かが提案できれば、クライアントも機能する本格的なアプリケーション サーバーがなくても問題ありません。