ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » General IBM MQ Support » mq series with jboss

Post new topic  Reply to topic Goto page 1, 2  Next
 mq series with jboss « View previous topic :: View next topic » 
Author Message
pabloadmin
PostPosted: Wed Feb 01, 2006 9:54 am    Post subject: mq series with jboss Reply with quote

Newbie

Joined: 01 Feb 2006
Posts: 9
Location: Argentina

Hi, i use a java application over websphere (4.0.7) with MQ to send and recive messages. The application works fine in this environment, but now i want to test with jboss 4.0.2 on suse linux over pseries. The only problem is with mq, i recive this error:

2006-02-01 13:40:17,338 ERROR [mqsupport.MQConnection] MQJE001: Completion Code 2, Reason 2033
com.ibm.mq.MQException: MQJE001: Completion Code 2, Reason 2033
at com.ibm.mq.MQQueue.get(MQQueue.java:822)

and the application doesn't work. this is my mq configuration on the client:

mq.host = 10.250.0.49
mq.qmgr = QM.SISDESA
mq.channel = CANAL_JAVA
mq.request = ITC_REQUEST
mq.response = ITC_RESPONSE
mq.highThreshold = 25
mq.timeout = 3600000

I used a little java program to put and get a message from the mq and it works well.
At the moment i can put a messages in the queue, but i cann't get the response. somebody has a idea?

thank you.
Back to top
View user's profile Send private message
HubertKleinmanns
PostPosted: Wed Feb 01, 2006 10:08 am    Post subject: Reply with quote

Shaman

Joined: 24 Feb 2004
Posts: 732
Location: Germany

Reason 2033 means "no msg available". This could be, because the queue is empty or your app reads with a specific key (msg id or correl id) and the coresponding messages was not found.

Are you reading the correct queue?
Are you connected to the correct QMgr?
_________________
Regards
Hubert
Back to top
View user's profile Send private message Visit poster's website
csmith28
PostPosted: Wed Feb 01, 2006 10:08 am    Post subject: Reply with quote

Grand Master

Joined: 15 Jul 2003
Posts: 1196
Location: Arizona

Reason 2033 means MQRC_NO_MSG_Available

That is to say. There was no message in the Queue you attempted to GET a message from.
_________________
Yes, I am an agent of Satan but my duties are largely ceremonial.
Back to top
View user's profile Send private message
pabloadmin
PostPosted: Wed Feb 01, 2006 11:23 am    Post subject: Reply with quote

Newbie

Joined: 01 Feb 2006
Posts: 9
Location: Argentina

Thank you, but i have the same application at websphere and at jboss and
i use the same mq for both with the same configuration.
In the queue i see the message, but the application cann't get it.
can be a bit deference at os or at jvm level?, because websphere is running on HPUX 11i with a ibm jvm 1.3.x and the jboss on linux suse with ibm jvm 1.4.2.


thank you.
Back to top
View user's profile Send private message
mrlinux
PostPosted: Wed Feb 01, 2006 11:47 am    Post subject: Reply with quote

Grand Master

Joined: 14 Feb 2002
Posts: 1261
Location: Detroit,MI USA

Well based on the fact you are getting 2033 (No Message Available) means that you are connecting to a queue(may be not the one you think),
are you using JMS ???
_________________
Jeff

IBM Certified Developer MQSeries
IBM Certified Specialist MQSeries
IBM Certified Solutions Expert MQSeries
Back to top
View user's profile Send private message Send e-mail
pabloadmin
PostPosted: Wed Feb 01, 2006 12:28 pm    Post subject: Reply with quote

Newbie

Joined: 01 Feb 2006
Posts: 9
Location: Argentina

No, i use the mq java classes directly, so i don't use a poll at the application server.


thank you.
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Wed Feb 01, 2006 2:08 pm    Post subject: Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20756
Location: LI,NY

Well.... the fact that you see a message in the queue(queue depth) does not mean that it is in a gettable state.
it may be in any of the following states:
a) not committed (hint: you should not be able to browse it either)
b) expired

Assuming that you have no selector set and are getting messages as they come, if the message is in any of the above mentioned states it is not available.

Enjoy
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
mvic
PostPosted: Wed Feb 01, 2006 2:45 pm    Post subject: Reply with quote

Jedi

Joined: 09 Mar 2004
Posts: 2080

pabloadmin wrote:
can be a bit deference at os or at jvm level?, because websphere is running on HPUX 11i with a ibm jvm 1.3.x and the jboss on linux suse with ibm jvm 1.4.2.

The 2033 comes from the queue manager, which is written in C, and runs in separate processes from the JVM your client program is running in. The version of the JRE you have does not influence the operation of the queue manager. It it's returning 2033, this will be because there is no message available to be removed from the queue. Take note also of fjb_saper's comments on possible reasons why messages may be on a queue but not available to MQGET.
Back to top
View user's profile Send private message
pabloadmin
PostPosted: Wed Feb 01, 2006 2:51 pm    Post subject: Reply with quote

Newbie

Joined: 01 Feb 2006
Posts: 9
Location: Argentina

Yes, but why works in websphere and not in jboss, with the same mq server?. (I use the same data, the same configuration and same application to test).
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Wed Feb 01, 2006 2:53 pm    Post subject: Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20756
Location: LI,NY

Maybe the transactional attribute for the part that is putting the message is different in JBOSS from what it is in websphere. Have you checked your deployment descriptors?
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
pabloadmin
PostPosted: Wed Feb 01, 2006 3:02 pm    Post subject: Reply with quote

Newbie

Joined: 01 Feb 2006
Posts: 9
Location: Argentina

I have this at application.xml:

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE application PUBLIC "-//Sun Microsystems, Inc.//DTD J2EE Application 1.2//EN" "http://java.sun.com/j2ee/dtds/application_1_2.dtd">
<application id="Application_ID">
<display-name>ReintegrosWeb</display-name>
<description>Reintegros Web</description>
<module id="WebModule_1">
<web>
<web-uri>reintegros.war</web-uri>
<context-root>/reintegros</context-root>
</web>
</module>
</application>

and this is my web.xml:

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN" "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">

<web-app id="WebApp">
<display-name>Reintegros</display-name>

<context-param>
<param-name>session-timeout</param-name>
<param-value>3600</param-value>
<description>time out de la session</description>
</context-param>

<servlet>
<servlet-name>reintegros</servlet-name>
<display-name>Turbine</display-name>

<servlet-class>org.apache.turbine.Turbine</servlet-class>

<init-param>
<param-name>applicationRoot</param-name>
<param-value>webContext</param-value>
</init-param>

<init-param>
<param-name>properties</param-name>
<param-value>/WEB-INF/conf/TurbineResources.properties</param-value>
</init-param>

<load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
<servlet-name>reintegros</servlet-name>
<url-pattern>/servlet/reintegros/*</url-pattern>
</servlet-mapping>

<welcome-file-list>
<welcome-file>/jsp/index.jsp</welcome-file>
</welcome-file-list>

<security-constraint>
<web-resource-collection>
<web-resource-name>templates</web-resource-name>
<url-pattern>/templates/*</url-pattern>
</web-resource-collection>

<web-resource-collection>
<web-resource-name>logs</web-resource-name>
<url-pattern>/logs/*</url-pattern>
</web-resource-collection>
</security-constraint>

<login-config>
<auth-method>BASIC</auth-method>
<realm-name>Templates</realm-name>
</login-config>

</web-app>


thank you.


Last edited by pabloadmin on Wed Feb 01, 2006 3:09 pm; edited 1 time in total
Back to top
View user's profile Send private message
mvic
PostPosted: Wed Feb 01, 2006 3:33 pm    Post subject: Reply with quote

Jedi

Joined: 09 Mar 2004
Posts: 2080

pabloadmin wrote:
Yes, but why works in websphere and not in jboss, with the same mq server?

I did realise that this is the question that is important to you.

It's my opinion that the material difference between the two cases is that, in one case the app is calling MQGET on a queue where there is a message available, and in the other case the app is calling MQGET on a queue where there is not a message available.

If you have analysed correctly, then MQ is not letting your app remove a message from a queue, when in fact there is one available to be removed. I don't think you have yet shared with us exactly what facts lead you to this conclusion.

For example, how are you sure that there is a message available that MQ is failing to deliver?

EDIT: correct 2nd paragraph
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Wed Feb 01, 2006 4:23 pm    Post subject: Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20756
Location: LI,NY

Your deployment descriptor makes no mention of transaction management. However if the put is transaction managed it may mean that it never gets committed....
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
pabloadmin
PostPosted: Thu Feb 02, 2006 6:02 am    Post subject: Reply with quote

Newbie

Joined: 01 Feb 2006
Posts: 9
Location: Argentina

mvic wrote:
pabloadmin wrote:
Yes, but why works in websphere and not in jboss, with the same mq server?

I did realise that this is the question that is important to you.

It's my opinion that the material difference between the two cases is that, in one case the app is calling MQGET on a queue where there is a message available, and in the other case the app is calling MQGET on a queue where there is not a message available.

If you have analysed correctly, then MQ is not letting your app remove a message from a queue, when in fact there is one available to be removed. I don't think you have yet shared with us exactly what facts lead you to this conclusion.

For example, how are you sure that there is a message available that MQ is failing to deliver?

EDIT: correct 2nd paragraph



Hi, i'am sure because i use a little java application to check the mq queue.
The queue has the messages.
Back to top
View user's profile Send private message
pabloadmin
PostPosted: Thu Feb 02, 2006 6:06 am    Post subject: Reply with quote

Newbie

Joined: 01 Feb 2006
Posts: 9
Location: Argentina

fjb_saper wrote:
Your deployment descriptor makes no mention of transaction management. However if the put is transaction managed it may mean that it never gets committed....


Ok thank you, but what line do i need to adding to do this?
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Goto page 1, 2  Next Page 1 of 2

MQSeries.net Forum Index » General IBM MQ Support » mq series with jboss
Jump to:  



You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.