I understand that this code will not work with the security
out-of-box. Thus, I added security alias for the connection factory.
First, I added the alias in both component-managed and
container-managed alias. However, I got the following exception:
[7/30/03 22:02:36:935 EDT] 38b5a395 ConnectionFac I J2CA0107I:
Component-managed authentication alias not specified for connection
factory or datasource JMS$sampleMDBTCF$JMSManagedConnection@185148304.
[7/30/03 22:02:36:982 EDT] 489963a5 JMSSecuritySe E MSGS0508E: The JMS
Server security service was unable to authenticate userid:
[7/30/03 22:02:36:982 EDT] 30e32396 JMSSecuritySe E MSGS0509E: The JMS
Server security service was unable to authorize userid to access
resource SYSTEM.JMS.D.CC.SUBSCRIBER.QUEUE with read write permission
[7/30/03 22:02:37:029 EDT] 38b5a395 ConnectionEve A J2CA0056I: The
Connection Manager received a fatal connection error from the Resource
Adaptor for resource JMS$sampleMDBTCF. The exception which was
received is Broker command failed: 3081 Reason code 3081
[7/30/03 22:02:37:044 EDT] 38b5a395 MDBListenerIm W WMSG0019E: Unable
to start MDB Listener PSSampleMDB, JMSDestination Sample/JMS/listen :
com.ibm.mq.jms.BrokerCommandFailedException: Broker command failed:
3081 Reason code 3081
at com.ibm.mq.jms.MQBrokerSubscriptionEngine.openDurableSubscription(MQBrokerSubscriptionEngine.java:1399)
at com.ibm.mq.jms.MQConnectionConsumer.pubSubSetup(MQConnectionConsumer.java:318)
at com.ibm.mq.jms.MQConnectionConsumer.<init>(MQConnectionConsumer.java:192)
at com.ibm.mq.jms.MQTopicConnection.createCC(MQTopicConnection.java:852)
at com.ibm.mq.jms.MQTopicConnection.createDurableConnectionConsumer(MQTopicConnection.java:817)
at com.ibm.ejs.jms.JMSTopicConnectionHandle.createDurableConnectionConsumer(JMSTopicConnectionHandle.java:186)
at com.ibm.ejs.jms.listener.MDBListenerImpl.createResources(MDBListenerImpl.java:327)
at com.ibm.ejs.jms.listener.MDBListenerImpl.internalStart(MDBListenerImpl.java:474)
at com.ibm.ejs.jms.listener.MDBListenerImpl.restart(MDBListenerImpl.java:446)
at com.ibm.ejs.jms.listener.MDBListenerImpl.alarm(MDBListenerImpl.java:718)
at com.ibm.ejs.util.am._Alarm.run(_Alarm.java:80)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:592)
--------------------------
I thus started to removed the alias from one of them and both them. In
each case, I failed with the exceptions as follows. It seems that no
mather what I did, the security alias does not get picked up.
(a) specify component-managed only
[7/31/03 13:00:34:704 EDT] 65e54d5c PrivExAction W J2CA0114W: No
container-managed authentication alias found.
[7/31/03 13:00:34:751 EDT] 34570d51 JMSSecuritySe E MSGS0508E: The JMS
Server security service was unable to authenticate userid:
[7/31/03 13:00:34:939 EDT] 65e54d5c FreePool E J2CA0046E: Method
createManagedConnctionWithMCWrapper caught an exception during
creation of the ManagedConnection for resource JMS$sampleMDBTCF,
throwing ResourceAllocationException. Original exception:
javax.resource.spi.ResourceAdapterInternalException: JMSException in
createConnection
at com.ibm.ejs.jms.JMSCMUtils.mapToResourceException(JMSCMUtils.java:123)
at com.ibm.ejs.jms.JMSManagedTopicConnection.createConnection(JMSManagedTopicConnection.java:121)
at com.ibm.ejs.jms.JMSManagedConnection.<init>(JMSManagedConnection.java:150)
at com.ibm.ejs.jms.JMSManagedTopicConnection.<init>(JMSManagedTopicConnection.java:66)
at com.ibm.ejs.jms.WSJMSManagedTopicConnectionFactory.createManagedConnection(WSJMSManagedTopicConnectionFactory.java:84)
at com.ibm.ejs.jms.JMSManagedConnectionFactory.createManagedConnection(JMSManagedConnectionFactory.java:387)
at com.ibm.ejs.j2c.poolmanager.FreePool.createManagedConnectionWithMCWrapper(FreePool.java:1119)
at com.ibm.ejs.j2c.poolmanager.FreePool.createOrWaitForConnection(FreePool.java:908)
(b) specify container-managed only
[7/31/03 12:49:33:548 EDT] 65e14c0b ConnectionFac I J2CA0107I:
Component-managed authentication alias not specified for connection
factory or datasource
JMS$sampleMDBTCF$JMSManagedConnection@1072876586.
[7/31/03 12:49:33:564 EDT] ddd8c2c JMSSecuritySe E MSGS0508E: The JMS
Server security service was unable to authenticate userid:
[7/31/03 12:49:33:611 EDT] ddd8c2c JMSSecuritySe E MSGS0509E: The JMS
Server security service was unable to authorize userid to access
resource SYSTEM.JMS.D.CC.SUBSCRIBER.QUEUE with read write permission
[7/31/03 12:49:33:626 EDT] 65e14c0b ConnectionEve A J2CA0056I: The
Connection Manager received a fatal connection error from the Resource
Adaptor for resource JMS$sampleMDBTCF. The exception which was
received is Broker command failed: 3081 Reason code 3081
[7/31/03 12:49:33:642 EDT] 65e14c0b MDBListenerIm W WMSG0019E: Unable
to start MDB Listener PSSampleMDB, JMSDestination Sample/JMS/listen :
com.ibm.mq.jms.BrokerCommandFailedException: Broker command failed:
3081 Reason code 3081
at com.ibm.mq.jms.MQBrokerSubscriptionEngine.openDurableSubscription(MQBrokerSubscriptionEngine.java:1399)
at com.ibm.mq.jms.MQConnectionConsumer.pubSubSetup(MQConnectionConsumer.java:318)
at com.ibm.mq.jms.MQConnectionConsumer.<init>(MQConnectionConsumer.java:192)
at com.ibm.mq.jms.MQTopicConnection.createCC(MQTopicConnection.java:852)
at com.ibm.mq.jms.MQTopicConnection.createDurableConnectionConsumer(MQTopicConnection.java:817)
at com.ibm.ejs.jms.JMSTopicConnectionHandle.createDurableConnectionConsumer(JMSTopicConnectionHandle.java:186)
at com.ibm.ejs.jms.listener.MDBListenerI
(c) not specify anything
[7/31/03 12:43:40:095 EDT] 65e14b5b MsgListenerPo W WMSG0049E: Failed
to start MDB PtoPSampleMDB against listener port
SamplePtoPListenerPort
[7/31/03 12:43:40:126 EDT] 65e14b5b PrivExAction W J2CA0114W: No
container-managed authentication alias found.
[7/31/03 12:43:40:189 EDT] 3e8acb4f JMSSecuritySe E MSGS0508E: The JMS
Server security service was unable to authenticate userid:
[7/31/03 12:43:40:376 EDT] 65e14b5b FreePool E J2CA0046E: Method
createManagedConnctionWithMCWrapper caught an exception during
creation of the ManagedConnection for resource JMS$sampleMDBTCF,
throwing ResourceAllocationException. Original exception:
javax.resource.spi.ResourceAdapterInternalException: JMSException in
createConnection
at com.ibm.ejs.jms.JMSCMUtils.mapToResourceException(JMSCMUtils.java:123)
at com.ibm.ejs.jms.JMSManagedTopicConnection.createConnection(JMSManagedTopicConnection.java:121)
at com.ibm.ejs.jms.JMSManagedConnection.<init>(JMSManagedConnection.java:150)
at com.ibm.ejs.jms.JMSManagedTopicConnection.<init>(JMSManagedTopicConnection.java:66)
at com.ibm.ejs.jms.WSJMSManagedTopicConnectionFactory.createManagedConnection(WSJMSManagedTopicConnectionFactory.java:84)