Java JBoss 5 JMS JAR需要使用它

Java JBoss 5 JMS JAR需要使用它,java,jakarta-ee,jboss,jms,jndi,Java,Jakarta Ee,Jboss,Jms,Jndi,我需要在JBoss5中配置JMS。我在找能这样做的罐子。有人知道编译这行代码需要什么JAR吗 h.put("java.naming.factory.initial", "org.jnp.interfaces.NamingContextFactory"); h.put("java.naming.factory.url.pkgs", "org.jboss.naming:org.jnp.interfaces"); h.put("java.naming.provider.url"

我需要在JBoss5中配置JMS。我在找能这样做的罐子。有人知道编译这行代码需要什么JAR吗

    h.put("java.naming.factory.initial", "org.jnp.interfaces.NamingContextFactory");
    h.put("java.naming.factory.url.pkgs", "org.jboss.naming:org.jnp.interfaces");
    h.put("java.naming.provider.url", "localhost:1099");
    InitialContext i = new InitialContext(h);
我正在寻找需要编译的包。始终抛出,未找到ClassNotFoundException NamingContextFactory

在JBoss4中,jar是concurrent.jar、jbossmq-client.jar、JBoss-common-client.jar、JBoss-system-client.jar、jnp-client.jar和log4j.jar

JBoss 5 JAR是什么?

如果您使用as IDE,那么您只需创建JBoss服务器运行时,并在项目的构建路径中添加服务器运行时库,JBoss as中的所有JAR都将添加到您的类路径中,无需查找它们,所有内容都将被编译

您可以看到JBoss AS 5.x使用什么来服务JMS(在该页面上查找“删除JMS(Java消息服务)”),一些jar位于那里,一些jar位于服务器的common/lib文件夹(JBoss-messaging.jar、JBoss-messaging-int.jar、jnpserver.jar),一些位于lib文件夹中(concurent.jar、jboss-common-core.jar和jboss-system.jar)。但更好地使用IDE的方法并没有帮助吗?也要小心

JBoss Messaging是JBoss企业中间件堆栈(JEMS)中的一个高性能JMS提供程序,作为默认消息提供程序随JBoss 5一起提供。它也是JBoss ESB基础设施的主干。JBoss Messaging是JBossMQ的完全重写,JBossMQ是JBoss as 4.x系列的默认JMS提供程序

更新:要使用服务器运行时库,可能需要安装,我不记得Eclipse是否可以在没有它的情况下从JBoss加载所有JAR。

要编译代码,根本不需要JBoss,所有必需的类(包括
InitialContext
)都在标准JavaSE 6 API中


假设您确实想要运行代码,那么您需要
$JBOSS_HOME/client
中的jar,包括
jnp client.jar

在从客户端目录添加所有jar后,应用程序似乎连接到JMS队列,但随后它抛出异常:



    DEBUG [WatchDog] - SocketClientInvoker[186f3b3, bisocket://192.168.1.84:4457] setting client socket wrapper class name to org.jboss.jms.client.remoting.ClientSocketWrapper
    DEBUG [WatchDog] - SocketClientInvoker[186f3b3, bisocket://192.168.1.84:4457] setting shouldCheckConnection to false
    DEBUG [WatchDog] - SocketClientInvoker[186f3b3, bisocket://192.168.1.84:4457] setting timeout to 0
    DEBUG [WatchDog] - SocketClientInvoker[186f3b3, bisocket://192.168.1.84:4457] constructed
    DEBUG [WatchDog] - SocketClientInvoker[186f3b3, bisocket://192.168.1.84:4457] setting client socket wrapper class name to org.jboss.jms.client.remoting.ClientSocketWrapper
    DEBUG [WatchDog] - SocketClientInvoker[186f3b3, bisocket://192.168.1.84:4457] setting shouldCheckConnection to false
    DEBUG [WatchDog] - SocketClientInvoker[186f3b3, bisocket://192.168.1.84:4457] setting timeout to 0
    DEBUG [WatchDog] - Setting ping frequency to: 214748364
    DEBUG [WatchDog] - SocketClientInvoker[186f3b3, bisocket://192.168.1.84:4457] connecting
    DEBUG [WatchDog] - Creating semaphore with size 50
    DEBUG [WatchDog] - SocketClientInvoker[186f3b3, bisocket://192.168.1.84:4457] connected
    DEBUG [WatchDog] - SocketClientInvoker[feecca, bisocket://192.168.1.84:4457] setting maxPoolSize to 200
    DEBUG [WatchDog] - SocketClientInvoker[feecca, bisocket://192.168.1.84:4457] setting client socket wrapper class name to org.jboss.jms.client.remoting.ClientSocketWrapper
    DEBUG [WatchDog] - SocketClientInvoker[feecca, bisocket://192.168.1.84:4457] setting shouldCheckConnection to false
    DEBUG [WatchDog] - SocketClientInvoker[feecca, bisocket://192.168.1.84:4457] setting timeout to 0
    DEBUG [WatchDog] - SocketClientInvoker[feecca, bisocket://192.168.1.84:4457] constructed
    DEBUG [WatchDog] - SocketClientInvoker[feecca, bisocket://192.168.1.84:4457] setting maxPoolSize to 200
    DEBUG [WatchDog] - SocketClientInvoker[feecca, bisocket://192.168.1.84:4457] setting client socket wrapper class name to org.jboss.jms.client.remoting.ClientSocketWrapper
    DEBUG [WatchDog] - SocketClientInvoker[feecca, bisocket://192.168.1.84:4457] setting shouldCheckConnection to false
    DEBUG [WatchDog] - SocketClientInvoker[feecca, bisocket://192.168.1.84:4457] setting timeout to 0
    DEBUG [WatchDog] - Setting ping frequency to: 214748364
    DEBUG [WatchDog] - SocketClientInvoker[feecca, bisocket://192.168.1.84:4457] connecting
    DEBUG [WatchDog] - Creating semaphore with size 200
    DEBUG [WatchDog] - SocketClientInvoker[feecca, bisocket://192.168.1.84:4457] connected
    DEBUG [WatchDog] - SocketClientInvoker[feecca, bisocket://192.168.1.84:4457] got exception: ClientSocketWrapper[Socket[addr=/192.168.1.84,port=4457,localport=57267].169dd64]
    java.io.IOException: org.jboss.remoting.InvocationResponse
        at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:247)
        at org.jboss.remoting.loading.ObjectInputStreamWithClassLoader.resolveClass(ObjectInputStreamWithClassLoader.java:179)
        at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1575)
        at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1496)
        at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1732)
        at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
        at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
        at org.jboss.jms.wireformat.SerializedPacket.read(SerializedPacket.java:73)
        at org.jboss.jms.wireformat.JMSWireFormat.read(JMSWireFormat.java:298)
        at org.jboss.remoting.transport.socket.MicroSocketClientInvoker.versionedRead(MicroSocketClientInvoker.java:1222)
        at org.jboss.remoting.transport.socket.MicroSocketClientInvoker.transport(MicroSocketClientInvoker.java:850)
        at org.jboss.remoting.transport.bisocket.BisocketClientInvoker.transport(BisocketClientInvoker.java:426)
        at org.jboss.remoting.MicroRemoteClientInvoker.invoke(MicroRemoteClientInvoker.java:165)
        at org.jboss.remoting.MicroRemoteClientInvoker.establishLease(MicroRemoteClientInvoker.java:467)
        at org.jboss.remoting.Client.setupClientLease(Client.java:1715)
        at org.jboss.remoting.Client.connect(Client.java:1615)
        at org.jboss.remoting.Client.connect(Client.java:515)
        at org.jboss.jms.client.remoting.JMSRemotingConnection$1.run(JMSRemotingConnection.java:354)
        at java.security.AccessController.doPrivileged(Native Method)
        at org.jboss.jms.client.remoting.JMSRemotingConnection.start(JMSRemotingConnection.java:350)
        at org.jboss.jms.client.delegate.ClientConnectionFactoryDelegate.org$jboss$jms$client$delegate$ClientConnectionFactoryDelegate$createConnectionDelegate$aop(ClientConnectionFactoryDelegate.java:158)
        at org.jboss.jms.client.delegate.ClientConnectionFactoryDelegate$createConnectionDelegate_N3019492359065420858.invokeTarget(ClientConnectionFactoryDelegate$createConnectionDelegate_N3019492359065420858.java)
        at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:111)
        at org.jboss.jms.client.container.StateCreationAspect.handleCreateConnectionDelegate(StateCreationAspect.java:81)
        at org.jboss.aop.advice.org.jboss.jms.client.container.StateCreationAspect_z_handleCreateConnectionDelegate_23582715.invoke(StateCreationAspect_z_handleCreateConnectionDelegate_23582715.java)
        at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
        at org.jboss.jms.client.delegate.ClientConnectionFactoryDelegate.createConnectionDelegate(ClientConnectionFactoryDelegate.java)
        at org.jboss.jms.client.JBossConnectionFactory.createConnectionInternal(JBossConnectionFactory.java:205)
        at org.jboss.jms.client.JBossConnectionFactory.createConnection(JBossConnectionFactory.java:87)
        at org.jetel.connection.jms.JmsConnection.initConnection(JmsConnection.java:393)
        at org.jetel.connection.jms.JmsConnection.preExecute(JmsConnection.java:359)
        at org.jetel.graph.TransformationGraph.preExecute(TransformationGraph.java:481)
        at org.jetel.graph.runtime.WatchDog.call(WatchDog.java:196)
        at org.jetel.graph.runtime.WatchDog.call(WatchDog.java:64)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
        at java.util.concurrent.FutureTask.run(FutureTask.java:138)
        at java.lang.Thread.run(Thread.java:619)


我用的是myeclipse蓝色。