The User Application relies on a Java Message Service (JMS) persistent store to persist e-mail messages. If JMS is not properly configured, any e-mail messages in the memory queue will be lost if the Application Server is shut down. As a convenience, JMS is configured for JBoss automatically. For WebSphere and WebLogic, you need to perform setup steps to configure JMS manually.
This section includes the following topics:
To configure JMS on WebSphere 6.1:
Login to the WebSphere Console as the Administrative User:
http://server:port/ibm/console
Go to
-> :Press the
button.Create a new bus.
Provide a name for the bus.
For example: IDMProvBus
Uncheck the check box for
.Press the
button.Confirm the creation of the new bus.
Press the
button.Go to
-> :Select the bus that was created above.
For example: IDMProvBus
On the
-> area, perform these steps:Provide a
.For example: Bus to be used with the IDM User Application
Press the
button.Press
.Go to
->Select the bus that was created above.
For example: IDMProvBus
On the
-> -> .Press the
button and perform these steps:Select server, cluster, or WebSphere MQ server.
Select the correct Server that the User Application WAR is deployed on and press the
button.Select the type of message store.
Select the radio button next to
and press the button.Provide the message store properties.
Leave all of the default values on this page and press the
button.Confirm the addition of a new bus member.
Press the
buttonPress the
link.Go to
-> -> .In the scopes drop down, select the correct scope.
For example: Node=MyNode01, Server=server1
Press the
button.Select the radio button next to
.Press the
button.On the
tab.Provide a name.
For example: ConnectionFactory
Provide the following as the JNDI name.
ConnectionFactory
Provide a
.For Example: Topic Connection Factory to be used with the IDM User Application
In the
drop down box, select the Bus that was created above.For Example: IDMProvBus
Provide the following in the
identifier field under the area:IDMNotificationDurableTopic
In the
drop down box under , select the following:Reliability persistent
In the
drop down box under , select the following:Never shares
Press the
button.Press the
link.Go to
-> -> .In the scopes drop down, select the correct scope.
For example: Node=MyNode01, Server=server1
Press the
button.Select the radio button next to
.Press the
button.On the
tab, perform these steps:Provide a
.For Example: IDMNotificationDurableTopic
Provide the following as the
.topic/IDMNotificationDurableTopic
Provide a
.For Example: Topic to be used with the IDM User Application
In the
drop down box, select the Bus that was created above.For Example: IDMProvBus
In the
drop down box, select the following:Default.Topic.Space
In the
drop down box, select the following:Persistent
Press the
button.Press the
link.Logout of the WebSphere console.
Restart the WebSphere Application Server with the User Application WAR deployed:
In the SystemOut.log, the following three lines will appear in sequence if the JMS server is not set up correctly:
INFO [JMSConnectionMediator] Starting JMS notification system WARN [NotificationEngine] Could not properly initialize JMS persistence for the notification system. Will revert back to non-persistent asynchronous notification system. INFO [NotificationThread] Starting asynchronous notification system
In the server log, the following two lines will appear with some information about the connection if the JMS Server is set up correctly:
INFO [JMSConnectionMediator] Starting JMS notification system %connection information% INFO [NotificationThread] Starting asynchronous notification system
======== [8/8/09 16:14:28:978 EDT] 0000000a SibMessage I [:] CWSID0021I: Configuration reload is enabled for bus IDMProvBus. [8/8/09 16:14:29:118 EDT] 0000000a SibMessage I [:] CWSIS1569I: Messaging engine N35020Node01.server1-IDMProvBus is using a file store. ======== [8/8/09 16:16:13:285 EDT] 00000017 SystemOut O 16:16:13,255 INFO [JMSConnectionMediator] Starting JMS notification system [8/8/09 16:16:13:502 EDT] 00000017 SharedPool I J2CA0086W: Shareable connection MCWrapper id 32e432e4 Managed connection [com.ibm.ws.sib.api.jmsra.impl.JmsJcaManagedConnection@847917706 <managedConnectionFactory=[com.ibm.ws.sib.api.jmsra.impl.JmsJcaManagedTopicConnectionFactoryImpl@1943565272 <logWriter=null> <busName=IDMProvBus> <clientID=IDMNotificationDurableTopic> <userName=null> <password=null> <xaRecoveryAlias=> <nonPersistentMapping=ExpressNonPersistent> <persistentMapping=ReliablePersistent> <durableSubscriptionHome=N35020Node01.server1-IDMProvBus> <readAhead=Default> <temporaryQueueNamePrefix=null> <temporaryTopicNamePrefix=> <target=> <targetSignificance=Preferred> <targetTransportChain=> <targetType=BusMember> <providerEndpoints=> <connectionProximity=Bus> <shareDataSourceWithCMP=false> <shareDurableSubscriptions=NeverShared> <cachedFactory=com.ibm.ws.sib.api.jms.impl.JmsFactoryFactoryImpl@2f8a2f8a>]> <coreConnection=com.ibm.ws.sib.processor.impl.ConnectionImpl@3ac03ac> <localTransaction=[com.ibm.ws.sib.api.jmsra.impl.JmsJcaManagedConnection$JmsJcaLocalTransaction@887895276 <localSITransaction=null>]> <xaResource=null> <metaData=null> <userDetails=[com.ibm.ws.sib.api.jmsra.impl.JmsJcaUserDetails@1130382176 <userName=null> <password=null>]> <subject=null> <logWriter=null> <sessions=[[com.ibm.ws.sib.api.jmsra.impl.JmsJcaSessionImpl@1608933350 <managedConnection=847917706> <connection=2119728728> <transacted=false> <applicationLocalTransaction=null> <reqInfo=[com.ibm.ws.sib.api.jmsra.impl.JmsJcaConnectionRequestInfo@871511026> <userDetails=null> <coreConnection=com.ibm.ws.sib.processor.impl.ConnectionImpl@72bc72bc> <request counter=0>]> <sessionClosed=false> <sessionInvalidated=false>]]> <connectionListeners=[com.ibm.ejs.j2c.ConnectionEventListener@33703370]>] State:STATE_TRAN_WRAPPER_INUSE from resource ConnectionFactory was used within a local transaction containment boundary. [8/8/09 16:16:13:527 EDT] 0000001e SystemOut O 16:16:13,526 INFO [NotificationThread] Starting asynchronous notification system
To configure JMS on WebSphere 7.0:
Login to the WebSphere Console as the Administrative User:
http://server:port/ibm/console
Go to
-> :Press the
button.Create a new bus.
Provide a name for the bus.
For example: IDMProvBus
Uncheck the check box for
.Press the
button.Confirm the creation of the new bus.
Press the
button. Then, press the link.Go to
-> :Select the bus that was created above.
For example: IDMProvBus
On the
-> area, perform these steps:Provide a
.For example: Bus to be used with the IDM User Application
Press the
button.Press
.Go to
->Select the bus that was created above.
For example: IDMProvBus
On the
-> -> .Press the
button and perform these steps:Select server, cluster, or WebSphere MQ server.
Select the correct Server that the User Application war is deployed on and press the
button.Select the type of message store.
Select the radio button next to
and press the button.Configure the file store.
Leave all of the default values on this page and press the
button.Tune the performance parameters, if necessary.
Leave all of the default values, unless your situation requires them to be changed. Press the
button.Press the
button.Press the
link.Go to
-> -> .In the scopes drop down, select the correct scope.
For example: Node=MyNode01, Server=server1
Press the
button.Select the radio button next to
.Press the
button.On the
tab.Provide a name.
For example: ConnectionFactory
Provide the following as the JNDI name.
ConnectionFactory
Provide a
.For Example: Topic Connection Factory to be used with the IDM User Application
In the
drop down box, select the Bus that was created above.For Example: IDMProvBus
Provide the following in the
identifier field under the area:IDMNotificationDurableTopic
In the
drop down box under , select the following:Reliability persistent
In the
drop down box under , select the following:Never shares
Press the
button.Press the
link.Go to
-> -> .In the scopes drop down, select the correct scope.
For example: Node=MyNode01, Server=server1
Press the
button.Select the radio button next to
.Press the
button.On the
tab, perform these steps:Provide a
.For Example: IDMNotificationDurableTopic
Provide the following as the
.topic/IDMNotificationDurableTopic
Provide a
.For Example: Topic to be used with the IDM User Application
In the
drop down box, select the Bus that was created above.For Example: IDMProvBus
In the
drop down box, select the following:Default.Topic.Space
In the
drop down box, select the following:Persistent
Press the
button.Press the
link.Logout of the WebSphere console.
Restart the WebSphere Application Server with the User Application WAR deployed:
In the SystemOut.log, the following three lines will appear in sequence if the JMS server is not set up correctly:
INFO [JMSConnectionMediator] Starting JMS notification system WARN [NotificationEngine] Could not properly initialize JMS persistence for the notification system. Will revert back to non-persistent asynchronous notification system. INFO [NotificationThread] Starting asynchronous notification system
In the server log, the following two lines will appear with some information about the connection if the JMS Server is set up correctly:
INFO [JMSConnectionMediator] Starting JMS notification system %connection information% INFO [NotificationThread] Starting asynchronous notification system
======== [9/7/09 14:39:52:167 EDT] 00000000 SibMessage I [:] CWSID0021I: Configuration reload is enabled for bus IDMProvBus. [9/7/09 14:39:52:372 EDT] 00000000 SibMessage I [:] CWSIS1569I: Messaging engine N35020Node02.server1-IDMProvBus is using a file store. ======== [9/7/09 14:41:32:613 EDT] 0000000c SystemOut O 14:41:32,608 INFO [JMSConnectionMediator] Starting JMS notification system [9/7/09 14:41:32:841 EDT] 0000000c SharedPool I J2CA0086W: Shareable connection MCWrapper id 5c175c17 Managed connection [com.ibm.ws.sib.api.jmsra.impl.JmsJcaManagedConnection@490f490f <managedConnectionFactory=[com.ibm.ws.sib.api.jmsra.impl.JmsJcaManagedTopicConnectionFactoryImpl@1f9c1f9c <logWriter=null> <busName=IDMProvBus> <clientID=IDMNotificationDurableTopic> <userName=null> <password=null> <xaRecoveryAlias=> <nonPersistentMapping=ExpressNonPersistent> <persistentMapping=ReliablePersistent> <durableSubscriptionHome=N35020Node02.server1-IDMProvBus> <readAhead=Default> <temporaryQueueNamePrefix=null> <temporaryTopicNamePrefix=null> <target=null> <targetSignificance=Preferred> <targetTransportChain=null> <targetType=BusMember> <providerEndpoints=null> <connectionProximity=Bus> <shareDataSourceWithCMP=false> <shareDurableSubscriptions=NeverShared> <cachedFactory=com.ibm.ws.sib.api.jms.impl.JmsFactoryFactoryImpl@4fb24fb2> <producerDoesNotModifyPayloadAfterSet=false> <consumerDoesNotModifyPayloadAfterGet=false>]> <coreConnection=com.ibm.ws.sib.processor.impl.ConnectionImpl@b0b0b0b> <localTransaction=[com.ibm.ws.sib.api.jmsra.impl.JmsJcaManagedConnection$JmsJcaLocalTransaction@78ce78ce <localSITransaction=null>]> <xaResource=null> <metaData=null> <userDetails=[com.ibm.ws.sib.api.jmsra.impl.JmsJcaUserDetails@5b4d5b4d <userName=null> <password=null>]> <subject=null> <logWriter=null> <sessions=[[com.ibm.ws.sib.api.jmsra.impl.JmsJcaSessionImpl@21ff21ff <managedConnection=1225738511> <connection=828453217> <transacted=false> <applicationLocalTransaction=null> <reqInfo=[com.ibm.ws.sib.api.jmsra.impl.JmsJcaConnectionRequestInfo@219a219a> <userDetails=null> <coreConnection=com.ibm.ws.sib.processor.impl.ConnectionImpl@b0b0b0b> <request counter=0>]> <sessionClosed=false> <sessionInvalidated=false>]]> <connectionListeners=[com.ibm.ejs.j2c.ConnectionEventListener@1572625852]>] State:STATE_TRAN_WRAPPER_INUSE from resource ConnectionFactory was used within a local transaction containment boundary. [9/7/09 14:41:32:938 EDT] 0000001a SystemOut O 14:41:32,938 INFO [NotificationThread] Starting asynchronous notification system
To configure JMS on WebLogic 10.3:
Login to the WebLogic Console as the Administrative User:
http://server:port/console
Go to
-> :Select
screen.On the
screen.Provide a Name.
For example: FileStore-0
Select the correct Target Server.
This needs to be the same Target Server that the User Application WAR is deployed on. For Example: AdminServer
Provide a Directory Location for where the JMS Server will be able to store. The location must already exist on the server. For example: /opt/bea/JMS
Press the
button.Go to
-> :Select the
button.On the
, perform these steps:Provide a
.For example: JMSServer-0
In the
dropdown, select the persistent store that was created above.For example: FileServer-0
Press the
button.On the
In the
dropdown, select the correct Target Server.This needs to be the same Target Server that the User Application WAR is deployed on. For example: AdminServer
Press the
button.Go to
-> -> -> .Select the
button.Provide a Name.
For example: SystemModule-0
Press the
button.On the
:Select the checkbox next to the correct Target Server.
This needs to be the same Target Server that the User Application WAR is deployed on. For example: AdminServer
Press the
button.On the
:Select the checkbox next to
.Press the
button.On the
(for example: SystemModule-0), select the tab.Under
area, press the button.On the
, select the radio button next to , and press the button.On the
, follow these steps:Provide a Name. For example: ConnectionFactory-0
Provide the following as the JNDI Name: ConnectionFactory
Press the
button.On the
, perform these steps:Select the Target Server that the User Application WAR is deployed on. For example: AdminServer
Press the
button.Under
area, press the button.On the
, select the radio button next to , and press the button.On the
, follow these steps:Provide a Name. For example: Topic-0
Provide the following as the JNDI Name: topic/IDMNotificationDurableTopic
Press the
button.On the
, perform these steps:Press the
button. Provide a Subdeployment Name. The Subdeployment name needs to be the same as the Name provided for the Topic. For example: Topic-0.Press the
button.Under
, select the correct JMS Server.This has to be the same JMS server that was defined above. For example: JMSServer-0
Press the
button.Logout of the WebLogic console.
Restart the WebLogic Server with the User Application WAR deployed:
In the server log, the following three lines will appear in sequence if the JMS server is not set up correctly:
INFO [com.novell.soa.notification.impl.jms.JMSConnectionMediator] Starting JMS notification system WARN [com.novell.soa.notification.impl.NotificationEngine] Could not properly initialize JMS persistence for the notification system. Will revert back to non-persistent asynchronous notification system. INFO [com.novell.soa.notification.impl.NotificationThread] Starting asynchronous notification system
In the server log, the following two lines will appear in sequence if the JMS Server is set up correctly:
INFO [JMSConnectionMediator] Starting JMS notification system INFO [NotificationThread] Starting asynchronous notification system