![]() ![]() ![]() ![]() ![]() ![]() |
This section contains information on the following subjects:
The Event Manager uses an embedded version of Apache ActiveMQ JMS Server that is enabled by default. The embedded JMS Server is configured to run out-of-the-box without any additional configuration. However, if an external JMS server is preferred, such as Oracle’s BEA Weblogic Server JMS or IBM WebSphere Application Server, then a number of Oracle Enterprise Repository system settings must be configured.
Note: | When Oracle Enterprise Repository is deployed on WebSphere 6.x, the embedded Apache ActiveMQ JMS Server cannot be used due to conflicts in the classes used by ActiveMQ and Oracle Enterprise Repository. Therefore, WebSphere 6.x customers should use the default JMS implementation that comes with WebSphere 6.x. See Configuring a JMS Provider In WebSphere 6.1.0.5. |
Oracle Enterprise Repository’s System Settings section allows administrators to configure the basic Oracle Enterprise Repository operation and to enable/disable specific features. The Event Manager’s JMS-related settings are under the “Eventing” group under the main “External Integrations” category. For more information about System Settings, see the Oracle Enterprise Repository Administration Guide. Additional “Eventing” properties are described in Configuring the Oracle Enterprise Repository Event Manager.
The internal Apache ActiveMQ JMS Server needs to be disabled in order to configure an external JMS product. You must also configure JNDI and JMS properties for the external JMS.
Note: | These steps are for configuring a single external JMS server. For instructions on configuring multiple JMS servers in a cluster, see Configuring JMS Servers in an Oracle Enterprise Repository Cluster. |
weblogic.examples.jms.TopicConnectionFactory
.weblogic.examples.jms.TopicConnectionFactory
.Every JMS message contains a standard set of header fields that is included by default and available to message consumers. The Message Expiration and Delivery Mode headers can be configured using the Oracle Enterprise Repository System Settings.
Note: | You must restart Oracle Enterprise Repository after changing any Eventing property in order for the changes to take effect. |
The following miscellaneous System Settings can also be configured.
ALER_JmsSubscriber
.ALER_DeliveryManager
.
If an external JMS server is being used, then the external JMS server-related JAR
files should be copied to the WEB-INF\lib
directory.
By default, the ActiveMQ JMS server uses a file-based store to store events. However, you can specify to have events stored in a database. Simply, configure the activemq.xml
file in the WEB-INF\classes
directory to use your database parameters.
<persistenceAdapter>
<journaledJDBC journalLogFiles="5" dataDirectory="../activemq-data" dataSource="#oracle-ds" />
<!-- To use a different datasource, use the following syntax : -->
<!-- <journaledJDBC journalLogFiles="5" dataDirectory="../activemq-data" dataSource="#postgres-ds"/> -->
<!-- Oracle DataSource Sample Setup -->
- <bean id="oracle-ds" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />
<property name="url" value="jdbc:oracle:thin:@localhost:1521:AMQDB" />
<property name="username" value="scott" />
<property name="password" value="tiger" />
<property name="poolPreparedStatements" value="true" />
</bean>
The Event Manager creates one durable subscriber for each Web Service endpoint it encounters in the Subscription Manager XML file. This ensures that events are stored if the endpoints are not online and that they can be reliably delivered once the endpoints are online again. As per the JMS Specification, the durable subscriber name should be unique across the JMS server. The Event Manager gets the durable subscriber name from the name
field found in the EndPointEventSubscription.xml
file, as shown in this example:
<sub:EventSubscriptionData xmlns:sub=”http://www.bea.com/infra/events/subscription”
<sub:eventSubscription>
<sub:endPoint name=”ALBPMEndpoint”>
Note: | JMS servers associate the durable subscriber name with the message selectors. Therefore, if the message selector is changed, either a new durable subscriber name should be provided or the existing one should be deleted. You can use the Oracle Enterprise Repository “Event Cleanup” tool, as described in Cleaning Up Stored Events. You can also use a JMS-specific tool to accomplish this. |
Note: | Before you begin, refer to the Oracle Enterprise Repository Clustering Guide for information on configuring Oracle Enterprise Repository in a clustered environment. |
If Oracle Enterprise Repository is deployed on cluster mode, you must enable clustering on each Oracle Enterprise Repository instance regardless of which type of JMS server being used (embedded or external).
In a clustered environment, each member Oracle Enterprise Repository instance in the cluster will have one embedded JMS server. For example, in case of two-node cluster, there will be two Oracle Enterprise Repository instances, such as server01
and server02
, with each having one embedded JMS server. Once clustering is enabled for the embedded JMS servers, you then need to specify the connection URL information for the embedded JMS servers on server01
and server02
.
failover:(tcp://
$SERVER_DNS_NAME_OR_IP$
:61700,tcp://
$SERVER_DNS_NAME_OR_IP$
:61700, …)
$SERVER_DNS_NAME_OR_IP$
are replaced by actual server DNS name or IP address. The entries should be repeated for each Oracle Enterprise Repository server in a given cluster.
Using the example above, this could be set to:failover:(tcp://server01:61700,tcp://server02:61700)
Caution: | Port 61700 is the default port for the embedded JMS server, and therefore should not be used by any other application on the Oracle Enterprise Repository server unless another port is configured for the embedded JSM server. |
Tip: | Make sure that each embedded JMS server is enabled by setting the cmee.eventframework.embedded.jms.enabled property to True. |
For external JMS servers, no additional configuration is required. However, you must make sure that the embedded JMS server is disabled, as follows:
When Oracle Enterprise Repository is deployed on WebSphere Application Server 6.1.0.5, the embedded Apache ActiveMQ JMS server cannot be used. Therefore, WebSphere 6.1.0.5 implementations must use the default JMS provider that comes with WebSphere 6.1.0.5.
To configure a JMS provider for Oracle Enterprise Repository in WebSphere 6.1.0.5, complete the following steps in the WebSphere administration console and in your Oracle Enterprise Repository application.
Node=<nodename>, server=server1
.aler.ear
application file, as follows:aler.ear
file in the path, and then click Next.jms/aler/alerEventingTopicDefault
in Target Resource JNDI Name and then click Next.web-inf/classes
directory and the database drivers required by the Oracle Enterprise Repository application.eventing.properties
file for the WebSphere settings:<
OER Domain
>\WEB-INF\classes
directory.eventing.properties
file as follows:cmee.eventframework.jms.topic=jms.alerEventingTopicDefault
cmee.eventframework.jndi.provider.url=iiop\://localhost:2809
cmee.eventframework.embedded.jms.enabled=false
cmee.eventframework.jndi.context.factory=com.ibm.websphere.naming.WsnInitialContextFactory
cmee.eventframework.jms.connection.factory=jms.alerEventingTopicCFDefault
\WebSphere\AppServer\profiles\AppSrv01\logs\server1
![]() ![]() ![]() |