web server - Borland Technical Publications

web server - Borland Technical Publications web server - Borland Technical Publications

techpubs.borland.com
from techpubs.borland.com More from this publisher
12.11.2014 Views

OpenJMS Table 24.1 openjms.datasource openjms.sql_file Partition level porperties for OpenJMS (continued) Property Name Description Default Value openjms.datasource_lookup_interval openjms.max_datasource_lookup_retries openjms.recreate_database_on_startup This property specifies the JNDI name of the datasource that is used to persist messages in OpenJMS. If this datasource is the same as the one that your application uses, then the JDBC connection pool will be shared among them and a single JDBC connection will be used both to persist messages and provide data access to your application, thereby avoiding a need for 2PC. If the specified datasource is not available in the JNDI namespace at the startup time, the startup code will use the properties openjms.datasource_lookup_interval, and openjms.max_datasource_lookup_retrie s described below, to make multiple attempts to access the target datasource. Despite that, if the lookup fails, the initialization code will internally construct a datasource from the information specified in the configuration (openjms.xml) file. Note The startup code will use the information from openjms.xml file only if the user specified datasource is not available. If the datasource is pre-deployed or available in JNDI, RDBMS configuration in the openjms.xml file will be ignored. This property is used to specify the file that contains the SQL statements to drop, and create database tables. These tables are used by OpenJMS for message persistence. This property specifies the duration between successive datasource lookup attempts. See the property openjms.datasource property above. This property specifies the number of attempts to lookup for the datasource before attempting to use the default datasource.See the property openjms.datasource property above. This property when set will cause re-creation of database across each startup of the service. This is useful for cases where previous messages are not needed in the subsequent runs (for example, while testing). serial:// datasources/ JDSLocal adm/openjms/ conf/ openjms.sql 1 second 5 seconds false Chapter 24: JMS provider pluggability 235

OpenJMS Table 24.1 Property Name Description Default Value openjms.database.softcommit This property is only applicable when JDataStore is used to persist JMS messages. This property provides improved performance during commit process, but with lack of recoverability in some rare failure scenarios. See JDataStore documentation for more details. true openjms.database Partition level porperties for OpenJMS (continued) openjms.use_bes_transactions OpenJMS Topologies This property only applies to JDS and is used to specify the name of the JDS database. OpenJMS starts a transaction before it dispatches messages. It uses the transaction service that is part of the partition which contains OpenJMS. If no transaction service is available in the partition, one from the Smart Agent domain is selected. Use this property when you use OpenJMS during transactions. This property does not affect the messaging applications that don’t involve transactions. However, to avoid an extra cost of transaction startup and propagation turn this property off. openjms.jds true Important Note If you have two OpenJMS services with both of them using the TCP connector, make sure you have different port numbers specified for them in the openjms.xml file. To open this file, right-click on the OpenJMS service in the Borland Management Console and select Properties from the drop down menu. Click on the openjms.xml tab in the right pane. OpenJMS can be configured to run in the following two topologies: ■ Server shared mode - where the OpenJMS service is hosted in a dedicated partition with other services in that partition disabled. It is available as a shared service to all partitions that are in the same osagent domain as the configuration in which OpenJMS partition resides. The remote clients can access OpenJMS via an RMI or TCP connector. Since OpenJMS needs a naming service to bind the JNDI objects that are specified in its configuration file, the Transaction and Naming services must be enabled in the partition that hosts OpenJMS or they should be available in the SmartAgent domain. ■ Embedded Service mode - where OpenJMS is run as an embedded service in each of the partitions in the configuration. Each partition uses the embedded (intravirtual machine) connector of OpenJMS instead of the TCP or RMI connector. The JMS clients use the embedded queue/topic connection factories. These factories provide optimal ways to avoid the cost of TCP/IP. Even though JMS clients can use the RMI connector in this mode, to achieve maximum performance it must use the local (embedded) connector. If multiple OpenJMS service instances are running in a single SmartAgent domain of BES, there will be no database sharability or automatic failover to a running instance. This is because there is no support for clustering for OpenJMS. 236 BES Developer’s Guide

OpenJMS<br />

Table 24.1<br />

Property Name Description Default Value<br />

openjms.database.softcommit<br />

This property is only applicable<br />

when JDataStore is used to persist<br />

JMS messages. This property<br />

provides improved performance<br />

during commit process, but with lack<br />

of recoverability in some rare failure<br />

scenarios. See JDataStore<br />

documentation for more details.<br />

true<br />

openjms.database<br />

Partition level porperties for OpenJMS (continued)<br />

openjms.use_bes_transactions<br />

OpenJMS Topologies<br />

This property only applies to JDS<br />

and is used to specify the name of<br />

the JDS database.<br />

OpenJMS starts a transaction<br />

before it dispatches messages. It<br />

uses the transaction service that is<br />

part of the partition which contains<br />

OpenJMS. If no transaction service<br />

is available in the partition, one from<br />

the Smart Agent domain is selected.<br />

Use this property when you use<br />

OpenJMS during transactions. This<br />

property does not affect the<br />

messaging applications that don’t<br />

involve transactions. However, to<br />

avoid an extra cost of transaction<br />

startup and propagation turn this<br />

property off.<br />

openjms.jds<br />

true<br />

Important<br />

Note<br />

If you have two OpenJMS services with both of them using the TCP connector, make<br />

sure you have different port numbers specified for them in the openjms.xml file. To open<br />

this file, right-click on the OpenJMS service in the <strong>Borland</strong> Management Console and<br />

select Properties from the drop down menu. Click on the openjms.xml tab in the right<br />

pane.<br />

OpenJMS can be configured to run in the following two topologies:<br />

■<br />

Server shared mode - where the OpenJMS service is hosted in a dedicated<br />

partition with other services in that partition disabled. It is available as a shared<br />

service to all partitions that are in the same osagent domain as the configuration in<br />

which OpenJMS partition resides. The remote clients can access OpenJMS via an<br />

RMI or TCP connector. Since OpenJMS needs a naming service to bind the JNDI<br />

objects that are specified in its configuration file, the Transaction and Naming<br />

services must be enabled in the partition that hosts OpenJMS or they should be<br />

available in the SmartAgent domain.<br />

■<br />

Embedded Service mode - where OpenJMS is run as an embedded service in<br />

each of the partitions in the configuration. Each partition uses the embedded (intravirtual<br />

machine) connector of OpenJMS instead of the TCP or RMI connector. The<br />

JMS clients use the embedded queue/topic connection factories. These factories<br />

provide optimal ways to avoid the cost of TCP/IP. Even though JMS clients can use<br />

the RMI connector in this mode, to achieve maximum performance it must use the<br />

local (embedded) connector.<br />

If multiple OpenJMS service instances are running in a single SmartAgent domain of<br />

BES, there will be no database sharability or automatic failover to a running instance.<br />

This is because there is no support for clustering for OpenJMS.<br />

236 BES Developer’s Guide

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!