Author |
Message
|
cociu_2012 |
Posted: Tue May 15, 2012 4:44 am Post subject: JMS Providers - configuration issues |
|
|
Acolyte
Joined: 06 Jan 2012 Posts: 72
|
Hello dear experts,
I have really strange issues regarding JMS Nodes.
I will start by telling that JMS nodes worked perfectly for years.
One of my colleagues tried to add a custom JMS provider, and I have no idea what went wrong.
I am getting the error (on any JMS connections):
Code: |
RecoverableException BIP4640E: WBIMB JMSClient. ''Broker 'brokereai2'; Execution Group 'alex'; Message Flow 'MF_IF18_CollectionFeed_Amdocs2Wsc'; Node 'MF_IF18_SubSend2eCare.AccountInput' '' There is a configuration problem with the JNDI Administered objects where: Initial Context Factory = ''weblogic.jndi.WLInitialContextFactory''. Location of the bindings = ''t3://host:10000''. ConnectionFactoryName = ''JMSFactory''. JMS destination = ''''. The exception text is : ''''.
The node could not obtain a JNDI Administered Object because some of the values specified in the node attributes are incorrect.
|
I have tried to:
1) Add latest jars to shared-classes;
2) Add same jars to JMSProvides/ DEVeCare directory configured on my custom JMS Provider:
Code: |
JMSProviders
eCare
jarsURL='/opt/ibm/mqsi/6.1/JMSProviders/DEVeCare'
jndiEnvironmentParms='default_none'
nativeLibs='/opt/ibm/mqsi/6.1/JMSProviders/DEVeCare'
proprietaryAPIAttr1='weblogic.jndi.WLInitialContextFactory'
proprietaryAPIAttr2='default_none'
proprietaryAPIAttr3='default_none'
proprietaryAPIAttr4='default_none'
proprietaryAPIAttr5='default_none'
proprietaryAPIHandler='default_none'
|
3) Re- configure JMSProviders (delete/create); restarted broker;
4) Used default BEA Weblogic provider;
Nothing worked. The only time I get a different error is when I use weblogic.jar with an older version. I get version mismatch. The strange thing is that I only get it when I put jar file in shared-classes, not in the directory configured in my JMSNode.
I have searched for an answer on developer works web site, and on WMB infocenter with no luck.
Can someone kindly explain:
1) How broker is loading JMS configuration, from shared –classes or custom defined directory.
2) On a freshly installed broker, do I need to add some jar files for default JMSProviders? I ask this because shared –classes directory is empty by default.
3) What other configuration I am obviously missing?
Thank you all for the time you might spend on reading this post.
Alex. |
|
Back to top |
|
 |
lancelotlinc |
Posted: Tue May 15, 2012 4:57 am Post subject: Re: JMS Providers - configuration issues |
|
|
 Jedi Knight
Joined: 22 Mar 2010 Posts: 4941 Location: Bloomington, IL USA
|
cociu_2012 wrote: |
I have tried to:
1) Add latest jars to shared-classes;
2) Add same jars to JMSProvides/ DEVeCare directory configured on my custom JMS Provider:
|
Alex - what jars? Don't duplicate jars in multiple places. The only jars you need are already on the Broker classpath if you are using JMS nodes. _________________ http://leanpub.com/IIB_Tips_and_Tricks
Save $20: Coupon Code: MQSERIES_READER |
|
Back to top |
|
 |
cociu_2012 |
Posted: Tue May 15, 2012 5:08 am Post subject: Re: JMS Providers - configuration issues |
|
|
Acolyte
Joined: 06 Jan 2012 Posts: 72
|
lancelotlinc wrote: |
Alex - what jars? Don't duplicate jars in multiple places. The only jars you need are already on the Broker classpath if you are using JMS nodes. |
Jar's recieved from the server (eCare).
I agree with you. Duplicating jars is not a good idea. So I first tried to call eCare with no jars, then added in the path configured on my provider (eCare) then added in shared-classes. No result.
So you're telling that by default broker needs no jars to call default JMS providers? All jars are already defined in the classpath? Can the problem be in the classpath then?
Code: |
echo $CLASSPATH
/opt/mqm/java/lib/com.ibm.mqjms.jar:/opt/ibm/mqsi/6.1/classes/derby.jar:
/opt/ibm/mqsi/6.1/classes/ConfigManagerProxy.jar:/opt/ibm/mqsi/6.1/
classes/configutil.jar:/opt/mqm/java/lib/com.ibm.mq.jar:
/opt/mqm/java/lib/connector.jar:/opt/ibm/mqsi/6.1/messages:
/var/mqsi/common/wsrr:/opt/ibm/mqsi/6.1/classes/aqapi13.jar:
/opt/ibm/mqsi/6.1/classes/FlatCtxSPI.jar:
/opt/ibm/mqsi/6.1/classes/jmscommon.jar:/opt/ibm/mqsi/6.1/classes/nls_charset12.jar: |
less mqsiprofile:
Code: |
CLASSPATH=${MQSI_FILEPATH}/classes/derby.jar:${MQSI_FILEPATH}/classes/ConfigManagerProxy.jar:${MQSI_FILEPATH}
/classes/configutil.jar:/opt/mqm/java/lib/com.ibm.mq.jar:
/opt/mqm/java/lib/connector.jar:${MQSI_FILEPATH}/messages:
${MQSI_WORKPATH}/common/wsrr:${MQSI_FILEPATH}
/classes/aqapi13.jar:${MQSI_FILEPATH}/classes/FlatCtxSPI.jar:
${MQSI_FILEPATH}/classes/jmscommon.jar:${MQSI_FILEPATH}
/classes/nls_charset12.jar:${CLASSPATH} |
|
|
Back to top |
|
 |
lancelotlinc |
Posted: Tue May 15, 2012 5:15 am Post subject: |
|
|
 Jedi Knight
Joined: 22 Mar 2010 Posts: 4941 Location: Bloomington, IL USA
|
Did you follow the step-by-step instructions for setting up your WMB JMS transport?
Quote: |
To setup the JNDI entries you need to use the JMS Admin tool. Detailed instructions for using the tool can be found in the WebSphere MQ Using Java manual. |
_________________ http://leanpub.com/IIB_Tips_and_Tricks
Save $20: Coupon Code: MQSERIES_READER |
|
Back to top |
|
 |
cociu_2012 |
Posted: Tue May 15, 2012 5:25 am Post subject: |
|
|
Acolyte
Joined: 06 Jan 2012 Posts: 72
|
lancelotlinc wrote: |
Did you follow the step-by-step instructions for setting up your WMB JMS transport?
Quote: |
To setup the JNDI entries you need to use the JMS Admin tool. Detailed instructions for using the tool can be found in the WebSphere MQ Using Java manual. |
|
Lance, that is when I provide JMS protocol. If I'll want to be a JMS provider, over MQ, over LDAP, over WAS, I'll use JMSAdmin tool. My case is different. I'm trying to call an existing JMS Provider, some kind of weblogic (I'm not good with java platforms and servers); |
|
Back to top |
|
 |
lancelotlinc |
Posted: Tue May 15, 2012 5:31 am Post subject: |
|
|
 Jedi Knight
Joined: 22 Mar 2010 Posts: 4941 Location: Bloomington, IL USA
|
|
Back to top |
|
 |
lancelotlinc |
Posted: Tue May 15, 2012 5:35 am Post subject: |
|
|
 Jedi Knight
Joined: 22 Mar 2010 Posts: 4941 Location: Bloomington, IL USA
|
cociu_2012 wrote: |
lancelotlinc wrote: |
Did you follow the step-by-step instructions for setting up your WMB JMS transport?
Quote: |
To setup the JNDI entries you need to use the JMS Admin tool. Detailed instructions for using the tool can be found in the WebSphere MQ Using Java manual. |
|
Lance, that is when I provide JMS protocol. If I'll want to be a JMS provider, over MQ, over LDAP, over WAS, I'll use JMSAdmin tool. My case is different. I'm trying to call an existing JMS Provider, some kind of weblogic (I'm not good with java platforms and servers); |
My friend Vitor says Training! Would you like to attend the WMB training class? They tell alot of neat stuff there that will help you in your day-to-day WMB tasks, including about JMS. _________________ http://leanpub.com/IIB_Tips_and_Tricks
Save $20: Coupon Code: MQSERIES_READER |
|
Back to top |
|
 |
cociu_2012 |
Posted: Tue May 15, 2012 5:39 am Post subject: |
|
|
Acolyte
Joined: 06 Jan 2012 Posts: 72
|
Above link is describing both scenarios Expose <> Invoke. All these steps with creating JNDI, objects and so on, is for the JMS Provider. I already have one eCare. I don't want to simulate one with WMB - MQ. |
|
Back to top |
|
 |
mqjeff |
Posted: Tue May 15, 2012 5:39 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
lancelotlinc wrote: |
Did you follow the step-by-step instructions for setting up your WMB JMS transport?
Quote: |
To setup the JNDI entries you need to use the JMS Admin tool. Detailed instructions for using the tool can be found in the WebSphere MQ Using Java manual. |
|
I do not think that has anything to do with this issue.
I do not believe that the JMS admin tool for WMQ is a required tool for configuring JMS with Message Broker.
The only required tools for configuring JMS with Message Broker are a) an understanding of how JMS needs to be configured, b) an understanding of how Broker JMS providers are configured.
Alex - You have not been as clear with needed information as might be useful. You seem to have shown the output of an mqsireportproperties for your JMSProvider, but it is not 100% clear that it's a full and complete output of an mqsireportproperties.
In general, Broker does not come with any Jar files for participating in JMS messaging with any provider, except in as much as Broker comes with MQ and MQ is a JMS messaging provider.
In general, Broker will load classes from shared-classes if you have NOT configured the jarsURL property.
If you are actually really trying to talk to BEA WebLogic JMS, you should have paid attention to this, which tells you you need to add an additional property to your JMSProvider.
You also should be showing us the properties that are configured on the JMS node that is trying to use the JMSProvider. |
|
Back to top |
|
 |
cociu_2012 |
Posted: Tue May 15, 2012 5:45 am Post subject: |
|
|
Acolyte
Joined: 06 Jan 2012 Posts: 72
|
lancelotlinc wrote: |
My friend Vitor says Training! Would you like to attend the WMB training class? They tell alot of neat stuff there that will help you in your day-to-day WMB tasks, including about JMS. |
Well, if training provides more information then infoCenter and all the sites related to WMB, it's a good call. I doubt that.
I admit I haven't attended these classes, but I have a lot of experience with WBM and coverd with certifications, that are no help to me in this moment.
I foolishly thought that someone can help me here. |
|
Back to top |
|
 |
Vitor |
Posted: Tue May 15, 2012 5:48 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
cociu_2012 wrote: |
I foolishly thought that someone can help me here. |
At least one person has tried. I accept the other has turned you into a political point. I've mentioned that on a number of occassions, hence I'm now ridululed for it. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
cociu_2012 |
Posted: Tue May 15, 2012 5:48 am Post subject: |
|
|
Acolyte
Joined: 06 Jan 2012 Posts: 72
|
Thank you mqjeff. I finally got a really good answer. I will read the link you've provided, and get with an update.
Thank you again. |
|
Back to top |
|
 |
cociu_2012 |
Posted: Tue May 15, 2012 5:56 am Post subject: |
|
|
Acolyte
Joined: 06 Jan 2012 Posts: 72
|
mqjeff wrote: |
If you are actually really trying to talk to BEA WebLogic JMS, you should have paid attention to this, which tells you you need to add an additional property to your JMSProvider.
You also should be showing us the properties that are configured on the JMS node that is trying to use the JMSProvider. |
I don't need to provide all the configuration specified on the URL. Rest of the configuration is provided on the JMS node. Sorry not posted before:
Code: |
MF_IF18_SubSend2eCare#SubscriberInput.connectionFactoryName=JMSFactory
#MF_IF18_SubSend2eCare#SubscriberInput.initialContextFactory=weblogic.jndi.WLInitialContextFactory
#MF_IF18_SubSend2eCare#SubscriberInput.locationJndiBindings=t3://host:10000
#MF_IF18_SubSend2eCare#SubscriberInput.destinationQueueName=SubscriberInput |
Command:
Code: |
mqsireportproperties brokereai2 -c JMSProviders -o eCare -r
|
OutPut:
Code: |
JMSProviders
eCare
jarsURL='/opt/ibm/mqsi/6.1/JMSProviders/eCare'
jndiEnvironmentParms='default_none'
nativeLibs='/opt/ibm/mqsi/6.1/JMSProviders/eCare'
proprietaryAPIAttr1='weblogic.jndi.WLInitialContextFactory'
proprietaryAPIAttr2='default_none'
proprietaryAPIAttr3='default_none'
proprietaryAPIAttr4='default_none'
proprietaryAPIAttr5='default_none'
proprietaryAPIHandler='default_none' |
I dont want to provide all JMSProvides as is no use to this point.
I mention that above configuration is working on UAT, PROD env(and it was working before). |
|
Back to top |
|
 |
mqjeff |
Posted: Tue May 15, 2012 5:59 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
I believe you need to set the proprietaryAPIHandler. |
|
Back to top |
|
 |
cociu_2012 |
Posted: Tue May 15, 2012 6:22 am Post subject: |
|
|
Acolyte
Joined: 06 Jan 2012 Posts: 72
|
mqjeff wrote: |
I believe you need to set the proprietaryAPIHandler. |
did that:
Code: |
[mqbrkr@ibmdev log]$ mqsireportproperties brokereai2 -c JMSProviders -o eCare -r
JMSProviders
eCare
jarsURL='/opt/ibm/mqsi/6.1/JMSProviders/eCare'
jndiEnvironmentParms='default_none'
nativeLibs='/opt/ibm/mqsi/6.1/JMSProviders/eCare'
proprietaryAPIAttr1='weblogic.jndi.WLInitialContextFactory'
proprietaryAPIAttr2='default_none'
proprietaryAPIAttr3='default_none'
proprietaryAPIAttr4='default_none'
proprietaryAPIAttr5='default_none'
proprietaryAPIHandler='com.ibm.broker.apihandler.BEAWebLogicAPIHandler'
BIP8071I: Successful command completion.
|
same result:
Code: |
2012-05-15 17:05:43.085992 10 RecoverableException BIP4640E: WBIMB JMSClient. ''Broker 'brokereai2'; Execution Group 'alex'; Message Flow 'MF_IF18_CollectionFeed_Amdocs2Wsc';
Node 'MF_IF18_SubSend2eCare.AccountInput' '' There is a configuration problem with the JNDI Administered objects where: Initial Context Factory = ''weblogic.jndi.WLInitialContextFactory''. Location of the bindings = ''t3://host:10000''. ConnectionFactory Name = ''JMSFactory''. JMS destination = ''''. The exception text is : ''''.
The node could not obtain a JNDI Administered Object because some of the values specified in the node attributes are i
ncorrect. Check the JNDI Administered configuration for the JMS provider used by the node. Either modify the JNDI Administered objects and rebuild the bindings, or change the node attributes and re-deploy the message flow. |
|
|
Back to top |
|
 |
|