Saturday, December 20, 2014

java.lang.IllegalStateException: QUEUE_DEFINED

Error encountered binding the J2EE resource, MQ_NOTIFY_REQ, as jms/MQ_NOTIFY_REQ from C:\IBM\WID7_WTE\runtimes\bi_v7\profiles\qwps\config\cells/qcell/resources.xml
java.lang.IllegalStateException: QUEUE_DEFINED



I fixed the above error by redefining the JMS Destination (Queue) in the correct scope (I created in Server scope) and correcting the Queue Manager name in the JMS destination .

And then restarting the application server.

Friday, December 19, 2014

How to fix JMS destination corrupt error in SystemOut.log

Error description is as
CWSIP0291W: An attempt to send a message to exception destination _SYSTEM.Exception.Destination.qnode.server1-SCA.APPLICATION.qcell.Bus on messaging engine qnode.server1-SCA.APPLICATION.qcell.Bus failed due to the following : com.ibm.ws.sib.processor.exceptions.SIMPDestinationCorruptException: CWSIK0027E: The destination with name _SYSTEM.Exception.Destination.qnode.server1-SCA.APPLICATION.qcell.Bus is corrupt


 Messaging engine must be running

To view the status of messaging engines , go to
Service integration  ==> Buses. ==> Bus Name ==>Messaging engines


The wsadmin jython command  for resetting the destination would be

me = AdminControl.queryNames("type=SIBMessagingEngine,name=messaging_engine_name,*" )

 where messaging_engine_name is the name of the messaging engine and  can be obtained from the errors in SystemOut.log


AdminControl.invoke(me, "resetDestination", ["destination"] )
where destination is the name of the destination and can be obtained from the errors in SystemOut.log


Then in the last , stop and start the Server hosting the messaging engine.

For a websphere process server topology , there will be four buses
BPC , SCA Application , SCA System , CEI .



Example Command


 me = AdminControl.queryNames("type=SIBMessagingEngine,name=qnode.server1-SCA.APPLICATION.qcell.Bus,*" )

 AdminControl.invoke(me, "resetDestination", ["_SYSTEM.Exception.Destination.qnode.server1-SCA.APPLICATION.qcell.Bus"] )

You may get the following error after running the second command


 WASX7015E: Exception running command: " AdminControl.invoke(me, "resetDestination", ["_SYSTEM.Exception.Destination.qnode.server1-SCA.APPLICATION.qcell.Bus"] )"
; exception information: javax.management.MBeanException com.ibm.ws.sib.processor.exceptions.SIMPRuntimeOperationFailedException: com.ibm.ws.sib.processor.exceptions.SIMPRuntimeOperationFailedException: com.ibm.ws.sib.processor.impl.exceptions.InvalidOperationException: CWSIP0005E: An internal messaging error occurred INDOUBT in com.ibm.ws.sib.processor.impl.indexes.statemod
el.State, 1:219:1.13


In that case

Go to
Service integration , Buses, Bus Name, Messaging engines , Messaging Engine Name , Queue Points

Select the Queue Point where Queue Depth is greater than 0

Go to Runtime Tab , Messages

 Click on delete all

This will delete all the messages in that queue point .

Restart the messaging engine or the application server itself .

Just restarting the messaging engine will get rid you of the error until there is another message in the destination .

Refresh notepad++

  1. Go to Settings>Shortcut mapper.
  2. Select the first tab (main menu)
  3. Find the "reload from disk" option (No. 3).
  4. Put an unused shortcut

Saturday, December 6, 2014

MQ multinstance Queue Managers


Testing and support statement for WebSphere MQ multi-instance queue managers
http://www-01.ibm.com/support/docview.wss?uid=swg21433474


Presentation on MultiInstance Queue Managers
http://www.mqtechconference.com/sessions_v2014/MQTC_2014-SoYouThinkYouUnderstandMultiInstanceQueueManagers.pdf



Knowledge Center for WebSphere MQ MultiInstance Queue Managers
http://129.33.205.81/support/knowledgecenter/#!/SSFKSJ_7.5.0/com.ibm.mq.mig.doc/q007620_.htm



Testing a shared file system for compatibility with WebSphere MQ Multi-instance Queue Managers
http://www-01.ibm.com/support/docview.wss?uid=swg21446194


Creating a multi-instance queue manager for WebSphere MQ on UNIX with auto client reconnect and testing using amqsphac sample program
http://www.ibm.com/developerworks/websphere/library/techarticles/1104_murthy/1104_murthy.html


Creating a multi-instance queue manager for WebSphere MQ on Linux
http://www.ibm.com/developerworks/websphere/library/techarticles/1006_sampige/1006_sampige.html


Uninstalling WebSphere MQ
http://www-01.ibm.com/support/knowledgecenter/#!/SSFKSJ_7.0.1/com.ibm.mq.amqdac.doc/sq10800_.htm

 

Install Java without installing

How can you Install Java without actually Installing it .

You can have this need if you don't have admin rights on the machine and you urgently want to install Java and you don't have time to wait for the IT department of the company .

So, here is the trick to do it .

I have installed Java 1.7 version using the following procedure .

Use 7 zip to extract the installer , the exe file  .  After extracting the exe , I again extracted the core.zip file which was extracted in the previous step.

Now , I have the complete Java folder along with bin and lib folder .

Here comes the tricky part .

Now , if you do java -version , you will get error as below

Error occurred during initialization of VM
java/lang/NoClassDefFoundError: java/lang/Object

java -fullversion will work
java -fullversion
java full version "1.7.0_07-b11" 

Solution : Its taken from the link
http://stackoverflow.com/questions/11808829/jre-1-7-returns-java-lang-noclassdeffounderror-java-lang-object

Check in your JDK folder for *.pack files in jre/lib and jre/lib/ext such as rt.pack (the default location is Drive(C or D):\nameof_jdk_folder\jre\lib for Microsoft Windows and /usr/java/lib for Unix/GNU Linux)
Those *.pack files need to be unpacked to .jar files using this command:

For Windows:
%JAVA_HOME%\bin\unpack200 -r -v -l "" rt.pack rt.jar

For *nix, a similar command line will unpack the files:
cd /usr/java/lib
/usr/bin/unpack200 rt.pack rt.jar


Then run java -version .

You have successfully setup the Java .


Another way to do the Java setup is to copy the folder from an existing machine where the Java setup is already done. But for that , you need to have USB access to the machine which you may not be having .


In the above technique of installing Java , either you need to have the installable with you or You should have the internet access to download the JAVA installable.