| Author | 
		  Message
		 | 
		
		  | KIT_INC | 
		  
		    
			  
				 Posted: Thu Oct 03, 2013 6:25 am    Post subject: Where is the JMS binding file ? | 
				     | 
			   
			 
		   | 
		
		
		   Knight
 
 Joined: 25 Aug 2006 Posts: 589
  
  | 
		  
		    
			  
				We have inherited a MB V7 (MQ V701) Linux system with almost no documentation. There is a message flow using JMSInput node. It is running with no problem. But we need to document it's configuration for easy maintenance in the future.
 
 
The configuration of the JMSInputnode is like
 
JMS Provider name : WebSphere MQ
 
Initial context factory : com.sun.jndi.fscontext.RefFSContextFactory
 
Location JNDI bindings : PROD_JMS_BND
 
Connection factory name : PROD_QCF
 
 
We expect the Location JNDI bindings is the path to the JMS bindings and in th format of "file:...\JNDI-Directory". But it is a name "PROD_JMS_BND"
 
 
The brokers JMSProvider properties shows
 
 WebSphere_MQ
 
    clientAckBatchSize='0'
 
    clientAckBatchTime='0'
 
    initialContextFactory=''
 
    jarsURL='/opt/mqm/java/lib'
 
    jmsAsyncExceptionHandling='false'
 
    jndiBindingsLocation=''
 
    jndiEnvironmentParms='default_none'
 
    nativeLibs='/opt/mqm/java/lib'
 
    proprietaryAPIAttr1='default_none'
 
    proprietaryAPIAttr2='default_none'
 
    proprietaryAPIAttr3='default_none'
 
    proprietaryAPIAttr4='default_none'
 
    proprietaryAPIAttr5='default_none'
 
    proprietaryAPIHandler='default_none'
 
 
This looks like the default.
 
Any idea on how we can determine where is the JMS Binding file ? | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | lancelotlinc | 
		  
		    
			  
				 Posted: Thu Oct 03, 2013 6:35 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		    Jedi Knight
 
 Joined: 22 Mar 2010 Posts: 4941 Location: Bloomington, IL USA 
  | 
		  
		    
			  
				PROD_JMS_BND could be an LDAP entry. Try to search for this in LDAP. What do your configurable services look like ? _________________ http://leanpub.com/IIB_Tips_and_Tricks
 
Save $20: Coupon Code: MQSERIES_READER | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | mqjeff | 
		  
		    
			  
				 Posted: Thu Oct 03, 2013 6:42 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		   Grand Master
 
 Joined: 25 Jun 2008 Posts: 17447
  
  | 
		  
		    
			  
				
   
	| lancelotlinc wrote: | 
   
  
	| PROD_JMS_BND could be an LDAP entry. Try to search for this in LDAP. What do your configurable services look like ? | 
   
 
 
 
How could it possibly be an LDAP entry? | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | KIT_INC | 
		  
		    
			  
				 Posted: Thu Oct 03, 2013 6:45 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		   Knight
 
 Joined: 25 Aug 2006 Posts: 589
  
  | 
		  
		    
			  
				I thought that if it is in LDAP, The initial context factory should be "com.sun.jndi.ldap.LdapCtxFactory" Since it is " com.sun.jndi.fscontext.RefFSContextFactory" it should be on the file system. Please correct me if I am wrong.
 
 
Which configurable service I should check? I can only see JMSProvider_Oracle_AQ using the broker explorer and it contains all defaults.
 
The flow is not doing coordinated transaction | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | lancelotlinc | 
		  
		    
			  
				 Posted: Thu Oct 03, 2013 6:46 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		    Jedi Knight
 
 Joined: 22 Mar 2010 Posts: 4941 Location: Bloomington, IL USA 
  | 
		  
		    
			  
				
   
	| mqjeff wrote: | 
   
  
	
   
	| lancelotlinc wrote: | 
   
  
	| PROD_JMS_BND could be an LDAP entry. Try to search for this in LDAP. What do your configurable services look like ? | 
   
 
 
 
How could it possibly be an LDAP entry? | 
   
 
 
 
   
	| Quote: | 
   
  
	| Location JNDI bindings: The system path or the LDAP location for the bindings file. ... If you have specified an LDAP location that requires authentication, configure the LDAP principal (user ID) and LDAP credentials (password) separately. These values are configured at broker level. | 
   
 
 
 
Am I not reading that correctly ? _________________ http://leanpub.com/IIB_Tips_and_Tricks
 
Save $20: Coupon Code: MQSERIES_READER | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | lancelotlinc | 
		  
		    
			  
				 Posted: Thu Oct 03, 2013 6:48 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		    Jedi Knight
 
 Joined: 22 Mar 2010 Posts: 4941 Location: Bloomington, IL USA 
  | 
		  
		    
			  
				
   
	| KIT_INC wrote: | 
   
  
	I thought that if it is in LDAP, The initial context factory should be "com.sun.jndi.ldap.LdapCtxFactory" Since it is " com.sun.jndi.fscontext.RefFSContextFactory" it should be on the file system. Please correct me if I am wrong.
 
 
Which configurable service I should check? I can only see JMSProvider_Oracle_AQ using the broker explorer and it contains all defaults.
 
The flow is not doing coordinated transaction | 
   
 
 
 
Do you have a  %MQInstallPath%/java/bin/JMSAdmin.config ? _________________ http://leanpub.com/IIB_Tips_and_Tricks
 
Save $20: Coupon Code: MQSERIES_READER | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | mqjeff | 
		  
		    
			  
				 Posted: Thu Oct 03, 2013 6:56 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		   Grand Master
 
 Joined: 25 Jun 2008 Posts: 17447
  
  | 
		  
		    
			  
				[quote="lancelotlinc"]
   
	| mqjeff wrote: | 
   
  
	
   
	| lancelotlinc wrote: | 
   
  
	| PROD_JMS_BND could be an LDAP entry. Try to search for this in LDAP. What do your configurable services look like ? | 
   
 
 
 
How could it possibly be an LDAP entry? | 
   
 
 
 
 
   
	| KIT_INC wrote: | 
   
  
	| it is " com.sun.jndi.fscontext.RefFSContextFactory" it should be on the file system.  | 
   
 
 
 
I would be shocked and horrified to find out you can store a FILE in an LDAP entry, and twice as shocked to find out you can use that file from the RefFSContextFactory.
 
 
The Initial Context Factory tells you how to find the system that holds the information you want to look up.  The Location JNDI Bindings tells you WHERE ON THAT SYSTEM the information starts.
 
 
For the configuration shown, this is a FILE NAME.  It is specified using a RELATIVE PATH rather than a FULL PATH.  It exists somewhere on the broker file system, likely unfortunately somewhere under Broker install or Broker configuration directories (/var/mqsi or /opt/mqsi or whatever). | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | KIT_INC | 
		  
		    
			  
				 Posted: Thu Oct 03, 2013 7:15 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		   Knight
 
 Joined: 25 Aug 2006 Posts: 589
  
  | 
		  
		    
			  
				I thought that could be a file name too. I am not a Linux expert. But I login as root and did the follwing command
 
cd /
 
find . -name "PROD_JMS_BND"
 
It came back with nothing. I also try
 
find . -iname "PROD_JMS_BND" (just in case not case sensitive) with no luck.
 
 
Perhaps I am not using the right Linux command.
 
 
There is a JMSAdmin.config file in  /opt/mqm/java/bin. But what is in there is
 
INITIAL_CONTEXT_FACTORY=com.sun.jndi.fscontext.RefFSContextFactory
 
 :
 
PROVIDER_URL=file:/C:/JNDI-Directory 
 
 
Which I think is the default for provider url. | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | smdavies99 | 
		  
		    
			  
				 Posted: Thu Oct 03, 2013 8:05 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		    Jedi Council
 
 Joined: 10 Feb 2003 Posts: 6076 Location: Somewhere over the Rainbow this side of Never-never land. 
  | 
		  
		    
			  
				I was wondering if PROD_JMS_BND is actually a reference to a location/file?
 
 
Try
 
 
 _________________ WMQ User since 1999
 
MQSI/WBI/WMB/'Thingy' User since 2002
 
Linux user since 1995
 
 
 
Every time you reinvent the wheel the more square it gets (anon). If in doubt think and investigate before you ask silly questions. | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | fjb_saper | 
		  
		    
			  
				 Posted: Thu Oct 03, 2013 8:18 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		    Grand High Poobah
 
 Joined: 18 Nov 2003 Posts: 20768 Location: LI,NY 
  | 
		  
		    
			  
				Is there a PROD_JMS_BND/.bindings file anywhere on the system?   _________________ MQ & Broker admin | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | KIT_INC | 
		  
		    
			  
				 Posted: Thu Oct 03, 2013 8:32 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		   Knight
 
 Joined: 25 Aug 2006 Posts: 589
  
  | 
		  
		    
			  
				
   
	| Quote: | 
   
  
	| Is there a PROD_JMS_BND/.bindings file anywhere on the system? | 
   
 
 
 
In my earlier post I said 
 
I am not a Linux expert. But I login as root and did the following command 
 
cd / 
 
find . -name "PROD_JMS_BND" 
 
It came back with nothing. I also try 
 
find . -iname "PROD_JMS_BND" (just in case not case sensitive) with no luck.
 
 
Unless my Linux command is wrong or not good enough, I don't think "PROD_JMS_BND" is anywhere as a file name or folder name. | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | fjb_saper | 
		  
		    
			  
				 Posted: Thu Oct 03, 2013 8:43 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		    Grand High Poobah
 
 Joined: 18 Nov 2003 Posts: 20768 Location: LI,NY 
  | 
		  
		    
			  
				I should not have restricted to the system.... It can live somewhere in the network... //host/path/.bindings...
 
Also are all symlinks  present and being followed? All file system mounting points present? 
 
And remember that you will need an ls -al to see any file starting with "." (dot)   _________________ MQ & Broker admin | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | smdavies99 | 
		  
		    
			  
				 Posted: Thu Oct 03, 2013 8:43 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		    Jedi Council
 
 Joined: 10 Feb 2003 Posts: 6076 Location: Somewhere over the Rainbow this side of Never-never land. 
  | 
		  
		    
			  
				What about the 
 
 
echo $PROD_JMS_BND
 
 
I asked about?
 
 
Also, files & directories starting with a '.' (period/dot) character are by default hidden. To see them you have to use the -a switch
 
 
   
	| Code: | 
   
  
	
 
cd /
 
find /path/to/search -name ".bindings"
 
 | 
   
 
 
might find it for you _________________ WMQ User since 1999
 
MQSI/WBI/WMB/'Thingy' User since 2002
 
Linux user since 1995
 
 
 
Every time you reinvent the wheel the more square it gets (anon). If in doubt think and investigate before you ask silly questions. | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | KIT_INC | 
		  
		    
			  
				 Posted: Thu Oct 03, 2013 9:11 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		   Knight
 
 Joined: 25 Aug 2006 Posts: 589
  
  | 
		  
		    
			  
				I can find several  .binding files in the system. But none of them is under a path that containds "PROD_JMS_BND". This is what confused me ? Why is "PROD_JMS_BND" in the JMSInputnode configuration. The flow must be using one of the binding files, otherwise it will not be working. 
 
Is there anything that could override the JMSInput node configuration ? Will mqsitrace trace the startup of the flow and tell us where it is getting the binding file ? | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | lancelotlinc | 
		  
		    
			  
				 Posted: Thu Oct 03, 2013 9:16 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		    Jedi Knight
 
 Joined: 22 Mar 2010 Posts: 4941 Location: Bloomington, IL USA 
  | 
		  
		    
			  
				
   
	| KIT_INC wrote: | 
   
  
	I can find several  .binding files in the system. But none of them is under a path that containds "PROD_JMS_BND". This is what confused me ? Why is "PROD_JMS_BND" in the JMSInputnode configuration. The flow must be using one of the binding files, otherwise it will not be working. 
 
Is there anything that could override the JMSInput node configuration ? Will mqsitrace trace the startup of the flow and tell us where it is getting the binding file ? | 
   
 
 
 
   
	| Code: | 
   
  
	| mqsireportproperties <BrokerName> -e <ExGrpName> -o AllMessageFlows -r > mqsireportproperties.txt | 
   
 
 _________________ http://leanpub.com/IIB_Tips_and_Tricks
 
Save $20: Coupon Code: MQSERIES_READER | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | 
		    
		   |