cgmedina [https://community.jboss.org/people/cgmedina] created the discussion
"JBoss AS 6 EJB-JMS Configuration from glassfish" To view the discussion, visit: https://community.jboss.org/message/754312#754312 -------------------------------------------------------------- Hi I'm newbie on JBoss AS 6.1 Final and it would be really helpful if you guys could read and reply. As I mentioned on a previous post, I'm trying to migrate a fully deployed working application from Glassfish to JBoss. In this particular moment I'm trying to deploy an EJB package which uses the following JMS instances: * A jms connectionfactory which is called UtilityProcessMessageFactory * Three jms queues which are called UtilityProcessRequestMessageQueue, UtilityProcessReplyMessageQueue and UtilityProcessReturnMessageQueue The functioning of my classes is very simple I have a stateless sessionbean called UtilityProcessMessengerBean which declares the resources sent to my MDB as follows: Stateless public class UtilityProcessMessengerBean implements UtilityProcessMessengerLocal { @Resource(name = "jms/UtilityProcessMessageFactory") private ConnectionFactory connectionFactory; @Resource(name = "jms/UtilityProcessRequestMessageQueue") private Queue requestQueue; @Resource(name = "jms/UtilityProcessReplyMessageQueue") private Queue replyQueue; @Resource(name = "jms/UtilityProcessReturnMessageQueue") private Queue returnQueue; @EJB MessengerLocal messenger; @Override public ObjectMessage send(Serializable message) throws JMSException { MessengerContext context = new MessengerContext(connectionFactory, requestQueue, replyQueue, returnQueue); return messenger.send(context, message); } @Override public ObjectMessage send(Serializable message, Long requestTimeToLive) throws JMSException { MessengerContext context = new MessengerContext(connectionFactory, requestQueue, replyQueue, returnQueue); return messenger.send(context, message, requestTimeToLive); } @Override public ObjectMessage sendRequest(Serializable message) throws JMSException { MessengerContext context = new MessengerContext(connectionFactory, requestQueue, replyQueue, returnQueue); return messenger.sendRequest(context, message); } @Override public ObjectMessage sendRequest(Serializable message, Long requestTimeToLive, Long replyTimeToWait) throws JMSException { MessengerContext context = new MessengerContext(connectionFactory, requestQueue, replyQueue, returnQueue); return messenger.sendRequest(context, message, requestTimeToLive, replyTimeToWait); } @Override public ObjectMessage sendReply(Serializable message, Message request) throws JMSException { MessengerContext context = new MessengerContext(connectionFactory, requestQueue, replyQueue, returnQueue); return messenger.sendReply(context, message, request); } @Override public ObjectMessage sendReturn(Message message) throws JMSException { MessengerContext context = new MessengerContext(connectionFactory, requestQueue, replyQueue, returnQueue); return messenger.sendReturn(context, message); } @Override public ObjectMessage receiveReply(Message request) throws JMSException { MessengerContext context = new MessengerContext(connectionFactory, requestQueue, replyQueue, returnQueue); return messenger.receiveReply(context, request); } I had the following configuration file on glassfish and it worked ok: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE sun-ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Application Server 9.0 EJB 3.0//EN" " http://www.sun.com/software/appserver/dtds/sun-ejb-jar_3_0-0.dtd http://www.sun.com/software/appserver/dtds/sun-ejb-jar_3_0-0.dtd"> <sun-ejb-jar> <enterprise-beans> <ejb> <ejb-name>UtilityProcessMessengerBean</ejb-name> <resource-ref> <res-ref-name>jms/UtilityProcessMessageFactory</res-ref-name> <jndi-name>jms/UtilityProcessMessageFactory</jndi-name> </resource-ref> <message-destination-ref> <message-destination-ref-name>jms/UtilityProcessRequestMessageQueue</message-destination-ref-name> <jndi-name>jms/UtilityProcessRequestMessageQueue</jndi-name> </message-destination-ref> <message-destination-ref> <message-destination-ref-name>jms/UtilityProcessReplyMessageQueue</message-destination-ref-name> <jndi-name>jms/UtilityProcessReplyMessageQueue</jndi-name> </message-destination-ref> <message-destination-ref> <message-destination-ref-name>jms/UtilityProcessReturnMessageQueue</message-destination-ref-name> <jndi-name>jms/UtilityProcessReturnMessageQueue</jndi-name> </message-destination-ref> </ejb> <ejb> <ejb-name>UtilityProcessRequestMessageBean</ejb-name> <bean-pool> <pool-idle-timeout-in-seconds>300</pool-idle-timeout-in-seconds> <resize-quantity>2</resize-quantity> <steady-pool-size>2</steady-pool-size> <max-pool-size>2</max-pool-size> </bean-pool> </ejb> </enterprise-beans> </sun-ejb-jar> I tried to make something similar on jboss but neither of my trials have been successful First I tried to declare my connectionFactory and queues on HornetQ using the hornetq-jms.xml file as follows: <connection-factory name="UtilityProcessMessageFactory"> <connectors> <connector-ref connector-name="netty"/> </connectors> <entries> <entry name="jms/UtilityProcessMessageFactory"/> </entries> </connection-factory> <queue name="UtilityProcessRequestMessageQueue"> <entry name="jms/UtilityProcessRequestMessageQueue"/> </queue> <queue name="UtilityProcessReplyMessageQueue"> <entry name="jms/UtilityProcessReplyMessageQueue"/> </queue> <queue name="UtilityProcessReturnMessageQueue"> <entry name="jms/UtilityProcessReturnMessageQueue"/> </queue> When I tried to deploy my ejb jar, JBoss returned the following message: Deployment "vfs:///C:/JBoss/server/default/deploy/mhzap101-ejb-core.jar" is in error due to the following reason(s): java.lang.RuntimeException: Neither any mapped-name/lookup/jndi-name specified nor any ResourceProvider could process resource-ref named env/jms/UtilityProcessMessageFactory of type javax.jms.ConnectionFactory at org.jboss.deployers.plugins.deployers.DeployersImpl.checkComplete(DeployersImpl.java:1228) [:2.2.0.GA] at org.jboss.deployers.plugins.main.MainDeployerImpl.checkComplete(MainDeployerImpl.java:905) [:2.2.0.GA] at org.jboss.system.server.profileservice.deployers.MainDeployerPlugin.checkComplete(MainDeployerPlugin.java:87) [:6.0.0.Final] at org.jboss.profileservice.deployment.ProfileDeployerPluginRegistry.checkAllComplete(ProfileDeployerPluginRegistry.java:107) [:0.2.2] at org.jboss.system.server.profileservice.bootstrap.BasicProfileServiceBootstrap.start(BasicProfileServiceBootstrap.java:135) [:6.0.0.Final] at org.jboss.system.server.profileservice.bootstrap.BasicProfileServiceBootstrap.start(BasicProfileServiceBootstrap.java:56) [:6.0.0.Final] at org.jboss.bootstrap.impl.base.server.AbstractServer.startBootstraps(AbstractServer.java:827) [jboss-bootstrap-impl-base.jar:2.1.0-alpha-5] at org.jboss.bootstrap.impl.base.server.AbstractServer$StartServerTask.run(AbstractServer.java:417) [jboss-bootstrap-impl-base.jar:2.1.0-alpha-5] at java.lang.Thread.run(Thread.java:662) [:1.6.0_25] Then I continued reading and I read that I had to modify my jboss.xml file (which is created by glassfish with no parameters). So I tried to make something equivalent to my sun-resources.jar file: <?xml version="1.0" encoding="UTF-8"?> <jboss> <enterprise-beans> <session> <ejb-name>UtilityProcessMessengerBean</ejb-name> <resource-ref> <res-ref-name>jms/UtilityProcessMessageFactory</res-ref-name> <jndi-name>jms/UtilityProcessMessageFactory</jndi-name> <res-type>javax.jms.QueueConnectionFactory</res-type> </resource-ref> <message-destination-ref> <message-destination-ref-name>jms/UtilityProcessRequestMessageQueue</message-destination-ref-name> <jndi-name>jms/UtilityProcessRequestMessageQueue</jndi-name> </message-destination-ref> <message-destination-ref> <message-destination-ref-name>jms/UtilityProcessReplyMessageQueue</message-destination-ref-name> <jndi-name>jms/UtilityProcessReplyMessageQueue</jndi-name> </message-destination-ref> <message-destination-ref> <message-destination-ref-name>jms/UtilityProcessReturnMessageQueue</message-destination-ref-name> <jndi-name>jms/UtilityProcessReturnMessageQueue</jndi-name> </message-destination-ref> </session> <message-driven> <ejb-name>UtilityProcessRequestMessageBean</ejb-name> <bean-pool> <pool-idle-timeout-in-seconds>300</pool-idle-timeout-in-seconds> <resize-quantity>2</resize-quantity> <steady-pool-size>2</steady-pool-size> <max-pool-size>2</max-pool-size> </bean-pool> </message-driven> </enterprise-beans> </jboss> It continues returning the same message: it can't find my connectionFactory, what am I doing wrong? -------------------------------------------------------------- Reply to this message by going to Community [https://community.jboss.org/message/754312#754312] Start a new discussion in Beginner's Corner at Community [https://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2075]
_______________________________________________ jboss-user mailing list [email protected] https://lists.jboss.org/mailman/listinfo/jboss-user
