[jboss-user] [JBoss Messaging] - JMS - duplicate message in Jboss 4.1, but working fine in Weblogic 6

Vijay DR do-not-reply at jboss.com
Mon Sep 12 09:04:43 EDT 2011


Vijay DR [http://community.jboss.org/people/drvijayy2k2] created the discussion

"JMS - duplicate message in Jboss 4.1, but working fine in Weblogic 6"

To view the discussion, visit: http://community.jboss.org/message/626028#626028

--------------------------------------------------------------
We have a application which created in 
 weblogic 6 
 jdk1.3 
 
 *now we migrate the same into jboss (http://www.coderanch.com/forums/f-63/JBoss) 4.1 with jdk1.6 
 
 Issues 
*  
 
 1. performance is very slow 
 2. duplicate message calling [it calls repeatedly, so output is like duplicate] 
 
 
 here is our *weblogic 6 jms setting* 
 
 
view plain (http://www.coderanch.com/t/552338/JBoss/JMS-duplicate-message-Jboss-but#)copy to clipboard (http://www.coderanch.com/t/552338/JBoss/JMS-duplicate-message-Jboss-but#)print (http://www.coderanch.com/t/552338/JBoss/JMS-duplicate-message-Jboss-but#)? (http://www.coderanch.com/t/552338/JBoss/JMS-duplicate-message-Jboss-but#)
1. <JMSConnectionFactory AllowCloseInOnMessage="false"  
2.         DefaultDeliveryMode="Persistent" DefaultPriority="4"  
3.         DefaultTimeToLive="0"  
4.         JNDIName="com.query.QueryConnectionFactory"  
5.         MessagesMaximum="-1" Name="Query Connection Factory"  
6.         OverrunPolicy="KeepOld" Targets="myserver" TransactionTimeout="900"/>  

 
 
 
 *Java code  [queue name we created like mbean] and no problem in the code it works.* 
 
  
view plain (http://www.coderanch.com/t/552338/JBoss/JMS-duplicate-message-Jboss-but#)copy to clipboard (http://www.coderanch.com/t/552338/JBoss/JMS-duplicate-message-Jboss-but#)print (http://www.coderanch.com/t/552338/JBoss/JMS-duplicate-message-Jboss-but#)? (http://www.coderanch.com/t/552338/JBoss/JMS-duplicate-message-Jboss-but#)
1. private final static String JMS_FACTORY="com.query.QueryConnectionFactory";  
2. private final static String QUEUE_NAME="com.QueryQueue";  
3. 
4. private static Context ctx;  
5. 
6. // todo:    
7. // can the connection and other variables be lazily created and stored  
8. // as private variables instead of each time?  
9. public final static void dispatchQuery(String sessionDirectory,  
10. final QueryInfo queryInfo)   
11. throws ControllerException {  
12. try  
13.         {  
14. 
15.             ctx = getInitialContext();  
16. 
17.             QueueConnectionFactory cf = (QueueConnectionFactory) ctx.lookup(JMS_FACTORY);  
18. 
19.             QueueConnection queueConnection = cf.createQueueConnection();  
20.             queueConnection.start();  
21. 
22.             QueueSession session = queueConnection.createQueueSession(false,   // non-transacted  
23.                                                          Session.AUTO_ACKNOWLEDGE);  
24. 
25.             log("Session is: " + session);  
26. 
27.             Queue queue = null;  
28. 
29. try  
30.             {  
31.                 queue = (Queue) ctx.lookup(QUEUE_NAME);  
32.             } catch (NamingException ne) {  
33. try  
34.                 {  
35.                     queue = session.createQueue(QUEUE_NAME);  
36.                     ctx.bind(QUEUE_NAME, queue);  
37.                 } catch (Exception e) {  
38.                     e.printStackTrace();  
39.                 }  
40.             }  
41. 
42.             log("Queue is: " + queue);  
43. 
44.             QueueSender sender = session.createSender(queue);  
45. 
46.             QueryMessage queryMessage = new QueryMessage(sessionDirectory, queryInfo);  
47.             ObjectMessage om = session.createObjectMessage(queryMessage);  
48.             log("<<< DISPATCHER.. >> Before Sending message of " + om);  
49.             sender.send(om);  
50.             log("Sent message.");    
51.         } catch (JMSException je) {  
52.             String message = "Could not send the message due to:\n" +  
53.                              je.getMessage();  
54. throw new ControllerException(message);  
55.         } catch (NamingException ne) {  
56. throw new ControllerException(ne.getMessage());  
57.         }  
58.   }  

 
 
 
 JBoss 4.1, the same code not working perfectly. 
 
 *jbossmq-destinations-service.xml* 
 
 
view plain (http://www.coderanch.com/t/552338/JBoss/JMS-duplicate-message-Jboss-but#)copy to clipboard (http://www.coderanch.com/t/552338/JBoss/JMS-duplicate-message-Jboss-but#)print (http://www.coderanch.com/t/552338/JBoss/JMS-duplicate-message-Jboss-but#)? (http://www.coderanch.com/t/552338/JBoss/JMS-duplicate-message-Jboss-but#)
1. <mbean code="org.jboss.mq.server.jmx.Queue"   
2.       name="jboss.mq.destination:service=Queue,name=com.query.QueryQueue">   
3.       <depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends>  
4.     </mbean>   

 
 
 *JAVA, we used UIL2ConnectionFactory* 
 
  
view plain (http://www.coderanch.com/t/552338/JBoss/JMS-duplicate-message-Jboss-but#)copy to clipboard (http://www.coderanch.com/t/552338/JBoss/JMS-duplicate-message-Jboss-but#)print (http://www.coderanch.com/t/552338/JBoss/JMS-duplicate-message-Jboss-but#)? (http://www.coderanch.com/t/552338/JBoss/JMS-duplicate-message-Jboss-but#)
1.  private final static String JMS_FACTORY="UIL2ConnectionFactory";   
2. private final static String QUEUE_NAME="queue/com.query.QueryQueue";  
3. 
4. // rest of the code is same as above. 
--------------------------------------------------------------

Reply to this message by going to Community
[http://community.jboss.org/message/626028#626028]

Start a new discussion in JBoss Messaging at Community
[http://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2042]

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/jboss-user/attachments/20110912/1704813a/attachment-0001.html 


More information about the jboss-user mailing list