You can create and configure JMS Virtual Providers either via deployment, or administratively via the SAP NetWeaver Administrator.
More information about the configurable properties, the JMS clustering and failover aspects: JMS Clustering and Failover
JMS Virtual Providers can be created either via deployment or administratively, using the SAP NetWeaver Administrator.
You can create a new Virtual Provider using the jms-resources.xml deployment descriptor. Under <sap-local-factory-type> and <sap-local-destination-type> there is a <virtual-provider> tag. If you do not specify a name in this tag, you do not create any Virtual Providers and you use the default one.
Syntax
<connection-factory> <name>jms/TopicConnectionFactory</name> <sap-local-factory-type> <type>javax.jms.TopicConnectionFactory</type> <virtual-provider>testVP</virtual-provider> </sap-local-factory-type> </connection-factory> <destination> <name>jms/MyTopic</name> <type>javax.jms.Topic</type> <sap-local-destination-type> <virtual-provider>testVP</virtual-provider> </sap-local-destination-type> </destination>
To create a new Virtual Provider you have to:
Open the SAP NetWeaver Administrator and choose
From the Show dropdown menu, choose JMS Virtual Providers.
To create a new Virtual Provider, choose the Create button.
Enter the name of the new Virtual Provider in the Name field and choose Save.
You have created a new Virtual Provider.
To delete a Virtual Provider, select it and choose the Remove button.
Caution
You have to be careful when deleting a Virtual Provider because if its resources are still used by some applications, they will stop working.
To configure the distribution option for the JMS Virtual Providers you have to:
Start the Config Tool by double-clicking the configtool script file in <SAP_install_dir>/<system_name>/<instance_name>/j2ee/configtool directory and expand the nodes
Set the value of hostMultipleVPs key to true if you want to allow hosting of several Virtual Providers on a single cluster node. If the value is set to false, each cluster node will host zero or one Virtual Provider. In the second case if the number of Virtual Providers is larger than the number nodes in the cluster, some of the Virtual Providers will not be hosted (started) and thus some of the applications may stop working.
The clustering behavior of JMS Virtual Providers is determined by their runningMode property. To configure the JMS Virtual Provider to start on all nodes, set the runningMode property to local in the <virtual-provider-properties> tag. If you do not specify the runningMode property, the default value is global.
The DataSource the Virtual Provider will use can be configured by the dataSourceName property. If you do not specify any DataSource name, the application will use the system DataSource.
Syntax
<virtual-provider-properties> <name>testRunningMode</name> <property> <description>runningMode</description> <config-property-name>runningMode</config-property-name> <config-property-value>local</config-property-value> </property> <property> <description>dataSourceName</description> <config-property-name>dataSourceName</config-property-name> <config-property-value>jdbc/ClientDataSource</config-property-value> </property> </virtual-provider-properties>