You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by dj...@apache.org on 2004/02/08 21:21:57 UTC
cvs commit: incubator-geronimo/modules/connector/src/test-data/connector_1_5 geronimo-ra.xml
djencks 2004/02/08 12:21:57
Modified: modules/connector/src/java/org/apache/geronimo/connector/deployment
Connector_1_0Module.java Connector_1_5Module.java
modules/connector/src/schema geronimo-connector_1_5.xsd
xmlconfig.xml
modules/connector/src/test/org/apache/geronimo/connector/deployment
Connector_1_0Test.java Connector_1_5Test.java
modules/connector/src/test-data/connector_1_0
geronimo-ra.xml
modules/connector/src/test-data/connector_1_5
geronimo-ra.xml
Added: modules/connector/src/java/org/apache/geronimo/connector/deployment
RARConfigurationFactory.java
Removed: modules/connector/src/java/org/apache/geronimo/connector/deployment
RAR_1_0ConfigurationFactory.java
RAR_1_5ConfigurationFactory.java
Log:
incremental approach towards usable dconfigbeans
Revision Changes Path
1.4 +69 -63 incubator-geronimo/modules/connector/src/java/org/apache/geronimo/connector/deployment/Connector_1_0Module.java
Index: Connector_1_0Module.java
===================================================================
RCS file: /home/cvs/incubator-geronimo/modules/connector/src/java/org/apache/geronimo/connector/deployment/Connector_1_0Module.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- Connector_1_0Module.java 6 Feb 2004 08:56:42 -0000 1.3
+++ Connector_1_0Module.java 8 Feb 2004 20:21:57 -0000 1.4
@@ -88,6 +88,7 @@
import org.apache.geronimo.xbeans.geronimo.GerConnectionmanagerType;
import org.apache.geronimo.xbeans.geronimo.GerResourceadapterType;
import org.apache.geronimo.xbeans.geronimo.GerConnectorDocument;
+import org.apache.geronimo.xbeans.geronimo.GerConnectionfactoryInstanceType;
import org.apache.geronimo.xbeans.j2ee.connector_1_0.ConfigPropertyType;
import org.apache.geronimo.xbeans.j2ee.connector_1_0.ConnectorDocument;
import org.apache.geronimo.xbeans.j2ee.connector_1_0.ResourceadapterType;
@@ -119,71 +120,76 @@
GerConnectionDefinitionType geronimoConnectionDefinition = geronimoResourceAdapter.getOutboundResourceadapter().getConnectionDefinitionArray(i);
assert geronimoConnectionDefinition != null: "Null GeronimoConnectionDefinition";
//ConnectionManagerFactory
- GerConnectionmanagerType connectionManagerFactory = geronimoConnectionDefinition.getConnectionmanager();
- GBeanInfo connectionManagerFactoryGBeanInfo;
- try {
- connectionManagerFactoryGBeanInfo = GBeanInfo.getGBeanInfo(ConnectionManagerDeployment.class.getName(), cl);
- } catch (InvalidConfigurationException e) {
- throw new DeploymentException("Unable to get GBeanInfo from ConnectionManagerDeployment", e);
- }
+ for (int j = 0; j < geronimoConnectionDefinition.getConnectionfactoryInstanceArray().length; j++) {
+ GerConnectionfactoryInstanceType gerConnectionfactoryInstance = geronimoConnectionDefinition.getConnectionfactoryInstanceArray()[j];
- GBeanMBean connectionManagerFactoryGBean;
- try {
- connectionManagerFactoryGBean = new GBeanMBean(connectionManagerFactoryGBeanInfo, cl);
- } catch (InvalidConfigurationException e) {
- throw new DeploymentException("Unable to create GMBean", e);
- }
- try {
- connectionManagerFactoryGBean.setAttribute("Name", connectionManagerFactory.getName());
- connectionManagerFactoryGBean.setAttribute("BlockingTimeout", new Integer(connectionManagerFactory.getBlockingTimeout().intValue()));
- connectionManagerFactoryGBean.setAttribute("MaxSize", new Integer(connectionManagerFactory.getMaxSize().intValue()));
- connectionManagerFactoryGBean.setAttribute("UseTransactions", Boolean.valueOf(connectionManagerFactory.getUseTransactions()));
- connectionManagerFactoryGBean.setAttribute("UseLocalTransactions", Boolean.valueOf(connectionManagerFactory.getUseLocalTransactions()));
- connectionManagerFactoryGBean.setAttribute("UseTransactionCaching", Boolean.valueOf(connectionManagerFactory.getUseTransactionCaching()));
- connectionManagerFactoryGBean.setAttribute("UseConnectionRequestInfo", Boolean.valueOf(connectionManagerFactory.getUseConnectionRequestInfo()));
- connectionManagerFactoryGBean.setAttribute("UseSubject", Boolean.valueOf(connectionManagerFactory.getUseSubject()));
- connectionManagerFactoryGBean.setReferencePatterns("Kernel", Collections.singleton(Kernel.KERNEL));
- connectionManagerFactoryGBean.setReferencePatterns("ConnectionTracker", Collections.singleton(connectionTrackerNamePattern));
- if (connectionManagerFactory.getRealmBridge() != null) {
- connectionManagerFactoryGBean.setReferencePatterns("RealmBridge", Collections.singleton(ObjectName.getInstance(BASE_REALM_BRIDGE_NAME + connectionManagerFactory.getRealmBridge())));
+ GerConnectionmanagerType connectionManagerFactory = gerConnectionfactoryInstance.getConnectionmanager();
+ GBeanInfo connectionManagerFactoryGBeanInfo;
+ try {
+ connectionManagerFactoryGBeanInfo = GBeanInfo.getGBeanInfo(ConnectionManagerDeployment.class.getName(), cl);
+ } catch (InvalidConfigurationException e) {
+ throw new DeploymentException("Unable to get GBeanInfo from ConnectionManagerDeployment", e);
}
- } catch (Exception e) {
- throw new DeploymentException("Problem setting up ConnectionManagerFactory", e);
- }
- ObjectName connectionManagerFactoryObjectName = null;
- try {
- connectionManagerFactoryObjectName = ObjectName.getInstance(BASE_CONNECTION_MANAGER_FACTORY_NAME + geronimoConnectionDefinition.getName());
- } catch (MalformedObjectNameException e) {
- throw new DeploymentException("Could not name ConnectionManagerFactory", e);
- }
- callback.addGBean(connectionManagerFactoryObjectName, connectionManagerFactoryGBean);
- //ManagedConnectionFactory
- GBeanInfoFactory managedConnectionFactoryInfoFactory = new GBeanInfoFactory(ManagedConnectionFactoryWrapper.class.getName(), ManagedConnectionFactoryWrapper.getGBeanInfo());
- GBeanMBean managedConnectionFactoryGBean = setUpDynamicGBean(managedConnectionFactoryInfoFactory, resourceAdapter.getConfigPropertyArray(), geronimoConnectionDefinition.getConfigPropertySettingArray());
- try {
- managedConnectionFactoryGBean.setAttribute("ManagedConnectionFactoryClass", cl.loadClass(resourceAdapter.getManagedconnectionfactoryClass().getStringValue()));
- managedConnectionFactoryGBean.setAttribute("ConnectionFactoryInterface", cl.loadClass(resourceAdapter.getConnectionfactoryInterface().getStringValue()));
- managedConnectionFactoryGBean.setAttribute("ConnectionFactoryImplClass", cl.loadClass(resourceAdapter.getConnectionfactoryImplClass().getStringValue()));
- managedConnectionFactoryGBean.setAttribute("ConnectionInterface", cl.loadClass(resourceAdapter.getConnectionInterface().getStringValue()));
- managedConnectionFactoryGBean.setAttribute("ConnectionImplClass", cl.loadClass(resourceAdapter.getConnectionImplClass().getStringValue()));
- managedConnectionFactoryGBean.setAttribute("GlobalJNDIName", geronimoConnectionDefinition.getGlobalJndiName());
- managedConnectionFactoryGBean.setReferencePatterns("ConnectionManagerFactory", Collections.singleton(connectionManagerFactoryObjectName));
- //TODO also set up the login module
- /*
- if (geronimoConnectionDefinition.getAuthentication().equals("BasicUserPassword")) {
- managedConnectionFactoryGBean.setReferencePatterns("ManagedConnectionFactoryListener", Collections.singleton(ObjectName.getInstance(BASE_PASSWORD_CREDENTIAL_LOGIN_MODULE_NAME + geronimoConnectionDefinition.getName())));
- }
- */
- } catch (Exception e) {
- throw new DeploymentException(e);
- }
- ObjectName managedConnectionFactoryObjectName = null;
- try {
- managedConnectionFactoryObjectName = ObjectName.getInstance(BASE_MANAGED_CONNECTION_FACTORY_NAME + geronimoConnectionDefinition.getName());
- } catch (MalformedObjectNameException e) {
- throw new DeploymentException("Could not construct ManagedConnectionFactory object name", e);
+
+ GBeanMBean connectionManagerFactoryGBean;
+ try {
+ connectionManagerFactoryGBean = new GBeanMBean(connectionManagerFactoryGBeanInfo, cl);
+ } catch (InvalidConfigurationException e) {
+ throw new DeploymentException("Unable to create GMBean", e);
+ }
+ try {
+ connectionManagerFactoryGBean.setAttribute("Name", connectionManagerFactory.getName());
+ connectionManagerFactoryGBean.setAttribute("BlockingTimeout", new Integer(connectionManagerFactory.getBlockingTimeout().intValue()));
+ connectionManagerFactoryGBean.setAttribute("MaxSize", new Integer(connectionManagerFactory.getMaxSize().intValue()));
+ connectionManagerFactoryGBean.setAttribute("UseTransactions", Boolean.valueOf(connectionManagerFactory.getUseTransactions()));
+ connectionManagerFactoryGBean.setAttribute("UseLocalTransactions", Boolean.valueOf(connectionManagerFactory.getUseLocalTransactions()));
+ connectionManagerFactoryGBean.setAttribute("UseTransactionCaching", Boolean.valueOf(connectionManagerFactory.getUseTransactionCaching()));
+ connectionManagerFactoryGBean.setAttribute("UseConnectionRequestInfo", Boolean.valueOf(connectionManagerFactory.getUseConnectionRequestInfo()));
+ connectionManagerFactoryGBean.setAttribute("UseSubject", Boolean.valueOf(connectionManagerFactory.getUseSubject()));
+ connectionManagerFactoryGBean.setReferencePatterns("Kernel", Collections.singleton(Kernel.KERNEL));
+ connectionManagerFactoryGBean.setReferencePatterns("ConnectionTracker", Collections.singleton(connectionTrackerNamePattern));
+ if (connectionManagerFactory.getRealmBridge() != null) {
+ connectionManagerFactoryGBean.setReferencePatterns("RealmBridge", Collections.singleton(ObjectName.getInstance(BASE_REALM_BRIDGE_NAME + connectionManagerFactory.getRealmBridge())));
+ }
+ } catch (Exception e) {
+ throw new DeploymentException("Problem setting up ConnectionManagerFactory", e);
+ }
+ ObjectName connectionManagerFactoryObjectName = null;
+ try {
+ connectionManagerFactoryObjectName = ObjectName.getInstance(BASE_CONNECTION_MANAGER_FACTORY_NAME + gerConnectionfactoryInstance.getName());
+ } catch (MalformedObjectNameException e) {
+ throw new DeploymentException("Could not name ConnectionManagerFactory", e);
+ }
+ callback.addGBean(connectionManagerFactoryObjectName, connectionManagerFactoryGBean);
+ //ManagedConnectionFactory
+ GBeanInfoFactory managedConnectionFactoryInfoFactory = new GBeanInfoFactory(ManagedConnectionFactoryWrapper.class.getName(), ManagedConnectionFactoryWrapper.getGBeanInfo());
+ GBeanMBean managedConnectionFactoryGBean = setUpDynamicGBean(managedConnectionFactoryInfoFactory, resourceAdapter.getConfigPropertyArray(), gerConnectionfactoryInstance.getConfigPropertySettingArray());
+ try {
+ managedConnectionFactoryGBean.setAttribute("ManagedConnectionFactoryClass", cl.loadClass(resourceAdapter.getManagedconnectionfactoryClass().getStringValue()));
+ managedConnectionFactoryGBean.setAttribute("ConnectionFactoryInterface", cl.loadClass(resourceAdapter.getConnectionfactoryInterface().getStringValue()));
+ managedConnectionFactoryGBean.setAttribute("ConnectionFactoryImplClass", cl.loadClass(resourceAdapter.getConnectionfactoryImplClass().getStringValue()));
+ managedConnectionFactoryGBean.setAttribute("ConnectionInterface", cl.loadClass(resourceAdapter.getConnectionInterface().getStringValue()));
+ managedConnectionFactoryGBean.setAttribute("ConnectionImplClass", cl.loadClass(resourceAdapter.getConnectionImplClass().getStringValue()));
+ managedConnectionFactoryGBean.setAttribute("GlobalJNDIName", gerConnectionfactoryInstance.getGlobalJndiName());
+ managedConnectionFactoryGBean.setReferencePatterns("ConnectionManagerFactory", Collections.singleton(connectionManagerFactoryObjectName));
+ //TODO also set up the login module
+ /*
+ if (geronimoConnectionDefinition.getAuthentication().equals("BasicUserPassword")) {
+ managedConnectionFactoryGBean.setReferencePatterns("ManagedConnectionFactoryListener", Collections.singleton(ObjectName.getInstance(BASE_PASSWORD_CREDENTIAL_LOGIN_MODULE_NAME + geronimoConnectionDefinition.getName())));
+ }
+ */
+ } catch (Exception e) {
+ throw new DeploymentException(e);
+ }
+ ObjectName managedConnectionFactoryObjectName = null;
+ try {
+ managedConnectionFactoryObjectName = ObjectName.getInstance(BASE_MANAGED_CONNECTION_FACTORY_NAME + gerConnectionfactoryInstance.getName());
+ } catch (MalformedObjectNameException e) {
+ throw new DeploymentException("Could not construct ManagedConnectionFactory object name", e);
+ }
+ callback.addGBean(managedConnectionFactoryObjectName, managedConnectionFactoryGBean);
+
}
- callback.addGBean(managedConnectionFactoryObjectName, managedConnectionFactoryGBean);
}
}
1.4 +85 -75 incubator-geronimo/modules/connector/src/java/org/apache/geronimo/connector/deployment/Connector_1_5Module.java
Index: Connector_1_5Module.java
===================================================================
RCS file: /home/cvs/incubator-geronimo/modules/connector/src/java/org/apache/geronimo/connector/deployment/Connector_1_5Module.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- Connector_1_5Module.java 6 Feb 2004 08:56:42 -0000 1.3
+++ Connector_1_5Module.java 8 Feb 2004 20:21:57 -0000 1.4
@@ -92,6 +92,8 @@
import org.apache.geronimo.xbeans.geronimo.GerConnectionmanagerType;
import org.apache.geronimo.xbeans.geronimo.GerConnectorDocument;
import org.apache.geronimo.xbeans.geronimo.GerResourceadapterType;
+import org.apache.geronimo.xbeans.geronimo.GerConnectionfactoryInstanceType;
+import org.apache.geronimo.xbeans.geronimo.GerAdminobjectInstanceType;
import org.apache.geronimo.xbeans.j2ee.AdminobjectType;
import org.apache.geronimo.xbeans.j2ee.ConfigPropertyType;
import org.apache.geronimo.xbeans.j2ee.ConnectionDefinitionType;
@@ -153,76 +155,80 @@
String connectionFactoryInterfaceName = geronimoConnectionDefinition.getConnectionfactoryInterface().getStringValue();
ConnectionDefinitionType connectionDefinition = (ConnectionDefinitionType) connectionDefinitions.get(connectionFactoryInterfaceName);
assert connectionDefinition != null: "No connection definition for ConnectionFactory class: " + connectionFactoryInterfaceName;
- //ConnectionManagerFactory
- GerConnectionmanagerType connectionManagerFactory = geronimoConnectionDefinition.getConnectionmanager();
- GBeanInfo connectionManagerFactoryGBeanInfo;
- try {
- connectionManagerFactoryGBeanInfo = GBeanInfo.getGBeanInfo(ConnectionManagerDeployment.class.getName(), cl);
- } catch (InvalidConfigurationException e) {
- throw new DeploymentException("Unable to get GBeanInfo from ConnectionManagerDeployment", e);
- }
+ for (int j = 0; j < geronimoConnectionDefinition.getConnectionfactoryInstanceArray().length; j++) {
+ GerConnectionfactoryInstanceType connectionfactoryInstance = geronimoConnectionDefinition.getConnectionfactoryInstanceArray()[j];
- GBeanMBean connectionManagerFactoryGBean;
- try {
- connectionManagerFactoryGBean = new GBeanMBean(connectionManagerFactoryGBeanInfo, cl);
- } catch (InvalidConfigurationException e) {
- throw new DeploymentException("Unable to create GMBean", e);
- }
- try {
- connectionManagerFactoryGBean.setAttribute("Name", connectionManagerFactory.getName());
- connectionManagerFactoryGBean.setAttribute("BlockingTimeout", new Integer(connectionManagerFactory.getBlockingTimeout().intValue()));
- connectionManagerFactoryGBean.setAttribute("MaxSize", new Integer(connectionManagerFactory.getMaxSize().intValue()));
- connectionManagerFactoryGBean.setAttribute("UseTransactions", Boolean.valueOf(connectionManagerFactory.getUseTransactions()));
- connectionManagerFactoryGBean.setAttribute("UseLocalTransactions", Boolean.valueOf(connectionManagerFactory.getUseLocalTransactions()));
- connectionManagerFactoryGBean.setAttribute("UseTransactionCaching", Boolean.valueOf(connectionManagerFactory.getUseTransactionCaching()));
- connectionManagerFactoryGBean.setAttribute("UseConnectionRequestInfo", Boolean.valueOf(connectionManagerFactory.getUseConnectionRequestInfo()));
- connectionManagerFactoryGBean.setAttribute("UseSubject", Boolean.valueOf(connectionManagerFactory.getUseSubject()));
- connectionManagerFactoryGBean.setReferencePatterns("Kernel", Collections.singleton(Kernel.KERNEL));
- connectionManagerFactoryGBean.setReferencePatterns("ConnectionTracker", Collections.singleton(connectionTrackerNamePattern));
- if (connectionManagerFactory.getRealmBridge() != null) {
- connectionManagerFactoryGBean.setReferencePatterns("RealmBridge", Collections.singleton(ObjectName.getInstance(BASE_REALM_BRIDGE_NAME + connectionManagerFactory.getRealmBridge())));
+ //ConnectionManagerFactory
+ GerConnectionmanagerType connectionManagerFactory = connectionfactoryInstance.getConnectionmanager();
+ GBeanInfo connectionManagerFactoryGBeanInfo;
+ try {
+ connectionManagerFactoryGBeanInfo = GBeanInfo.getGBeanInfo(ConnectionManagerDeployment.class.getName(), cl);
+ } catch (InvalidConfigurationException e) {
+ throw new DeploymentException("Unable to get GBeanInfo from ConnectionManagerDeployment", e);
}
- } catch (Exception e) {
- throw new DeploymentException("Problem setting up ConnectionManagerFactory", e);
- }
- ObjectName connectionManagerFactoryObjectName = null;
- try {
- connectionManagerFactoryObjectName = ObjectName.getInstance(BASE_CONNECTION_MANAGER_FACTORY_NAME + geronimoConnectionDefinition.getName());
- } catch (MalformedObjectNameException e) {
- throw new DeploymentException("Could not name ConnectionManagerFactory", e);
- }
- callback.addGBean(connectionManagerFactoryObjectName, connectionManagerFactoryGBean);
- //ManagedConnectionFactory
- GBeanInfoFactory managedConnectionFactoryInfoFactory = new GBeanInfoFactory(ManagedConnectionFactoryWrapper.class.getName(), ManagedConnectionFactoryWrapper.getGBeanInfo());
- GBeanMBean managedConnectionFactoryGBean = setUpDynamicGBean(managedConnectionFactoryInfoFactory, connectionDefinition.getConfigPropertyArray(), geronimoConnectionDefinition.getConfigPropertySettingArray());
- try {
- managedConnectionFactoryGBean.setAttribute("ManagedConnectionFactoryClass", cl.loadClass(connectionDefinition.getManagedconnectionfactoryClass().getStringValue()));
- managedConnectionFactoryGBean.setAttribute("ConnectionFactoryInterface", cl.loadClass(connectionDefinition.getConnectionfactoryInterface().getStringValue()));
- managedConnectionFactoryGBean.setAttribute("ConnectionFactoryImplClass", cl.loadClass(connectionDefinition.getConnectionfactoryImplClass().getStringValue()));
- managedConnectionFactoryGBean.setAttribute("ConnectionInterface", cl.loadClass(connectionDefinition.getConnectionInterface().getStringValue()));
- managedConnectionFactoryGBean.setAttribute("ConnectionImplClass", cl.loadClass(connectionDefinition.getConnectionImplClass().getStringValue()));
- managedConnectionFactoryGBean.setAttribute("GlobalJNDIName", geronimoConnectionDefinition.getGlobalJndiName());
- if (resourceAdapterClassName != null) {
- managedConnectionFactoryGBean.setReferencePatterns("ResourceAdapterWrapper", Collections.singleton(resourceAdapterObjectName));
- }
- managedConnectionFactoryGBean.setReferencePatterns("ConnectionManagerFactory", Collections.singleton(connectionManagerFactoryObjectName));
- /*
- //TODO also set up the login module
- if (geronimoConnectionDefinition.getAuthentication().equals("BasicUserPassword")) {
- managedConnectionFactoryGBean.setReferencePatterns("ManagedConnectionFactoryListener", Collections.singleton(ObjectName.getInstance(BASE_PASSWORD_CREDENTIAL_LOGIN_MODULE_NAME + geronimoConnectionDefinition.getName())));
- }
- */
- } catch (Exception e) {
- throw new DeploymentException(e);
- }
- ObjectName managedConnectionFactoryObjectName = null;
- try {
- managedConnectionFactoryObjectName = ObjectName.getInstance(BASE_MANAGED_CONNECTION_FACTORY_NAME + geronimoConnectionDefinition.getName());
- } catch (MalformedObjectNameException e) {
- throw new DeploymentException("Could not construct ManagedConnectionFactory object name", e);
+ GBeanMBean connectionManagerFactoryGBean;
+ try {
+ connectionManagerFactoryGBean = new GBeanMBean(connectionManagerFactoryGBeanInfo, cl);
+ } catch (InvalidConfigurationException e) {
+ throw new DeploymentException("Unable to create GMBean", e);
+ }
+ try {
+ connectionManagerFactoryGBean.setAttribute("Name", connectionManagerFactory.getName());
+ connectionManagerFactoryGBean.setAttribute("BlockingTimeout", new Integer(connectionManagerFactory.getBlockingTimeout().intValue()));
+ connectionManagerFactoryGBean.setAttribute("MaxSize", new Integer(connectionManagerFactory.getMaxSize().intValue()));
+ connectionManagerFactoryGBean.setAttribute("UseTransactions", Boolean.valueOf(connectionManagerFactory.getUseTransactions()));
+ connectionManagerFactoryGBean.setAttribute("UseLocalTransactions", Boolean.valueOf(connectionManagerFactory.getUseLocalTransactions()));
+ connectionManagerFactoryGBean.setAttribute("UseTransactionCaching", Boolean.valueOf(connectionManagerFactory.getUseTransactionCaching()));
+ connectionManagerFactoryGBean.setAttribute("UseConnectionRequestInfo", Boolean.valueOf(connectionManagerFactory.getUseConnectionRequestInfo()));
+ connectionManagerFactoryGBean.setAttribute("UseSubject", Boolean.valueOf(connectionManagerFactory.getUseSubject()));
+ connectionManagerFactoryGBean.setReferencePatterns("Kernel", Collections.singleton(Kernel.KERNEL));
+ connectionManagerFactoryGBean.setReferencePatterns("ConnectionTracker", Collections.singleton(connectionTrackerNamePattern));
+ if (connectionManagerFactory.getRealmBridge() != null) {
+ connectionManagerFactoryGBean.setReferencePatterns("RealmBridge", Collections.singleton(ObjectName.getInstance(BASE_REALM_BRIDGE_NAME + connectionManagerFactory.getRealmBridge())));
+ }
+ } catch (Exception e) {
+ throw new DeploymentException("Problem setting up ConnectionManagerFactory", e);
+ }
+ ObjectName connectionManagerFactoryObjectName = null;
+ try {
+ connectionManagerFactoryObjectName = ObjectName.getInstance(BASE_CONNECTION_MANAGER_FACTORY_NAME + connectionfactoryInstance.getName());
+ } catch (MalformedObjectNameException e) {
+ throw new DeploymentException("Could not name ConnectionManagerFactory", e);
+ }
+ callback.addGBean(connectionManagerFactoryObjectName, connectionManagerFactoryGBean);
+ //ManagedConnectionFactory
+
+ GBeanInfoFactory managedConnectionFactoryInfoFactory = new GBeanInfoFactory(ManagedConnectionFactoryWrapper.class.getName(), ManagedConnectionFactoryWrapper.getGBeanInfo());
+ GBeanMBean managedConnectionFactoryGBean = setUpDynamicGBean(managedConnectionFactoryInfoFactory, connectionDefinition.getConfigPropertyArray(), connectionfactoryInstance.getConfigPropertySettingArray());
+ try {
+ managedConnectionFactoryGBean.setAttribute("ManagedConnectionFactoryClass", cl.loadClass(connectionDefinition.getManagedconnectionfactoryClass().getStringValue()));
+ managedConnectionFactoryGBean.setAttribute("ConnectionFactoryInterface", cl.loadClass(connectionDefinition.getConnectionfactoryInterface().getStringValue()));
+ managedConnectionFactoryGBean.setAttribute("ConnectionFactoryImplClass", cl.loadClass(connectionDefinition.getConnectionfactoryImplClass().getStringValue()));
+ managedConnectionFactoryGBean.setAttribute("ConnectionInterface", cl.loadClass(connectionDefinition.getConnectionInterface().getStringValue()));
+ managedConnectionFactoryGBean.setAttribute("ConnectionImplClass", cl.loadClass(connectionDefinition.getConnectionImplClass().getStringValue()));
+ managedConnectionFactoryGBean.setAttribute("GlobalJNDIName", connectionfactoryInstance.getGlobalJndiName());
+ if (resourceAdapterClassName != null) {
+ managedConnectionFactoryGBean.setReferencePatterns("ResourceAdapterWrapper", Collections.singleton(resourceAdapterObjectName));
+ }
+ managedConnectionFactoryGBean.setReferencePatterns("ConnectionManagerFactory", Collections.singleton(connectionManagerFactoryObjectName));
+ /*
+ //TODO also set up the login module
+ if (geronimoConnectionDefinition.getAuthentication().equals("BasicUserPassword")) {
+ managedConnectionFactoryGBean.setReferencePatterns("ManagedConnectionFactoryListener", Collections.singleton(ObjectName.getInstance(BASE_PASSWORD_CREDENTIAL_LOGIN_MODULE_NAME + geronimoConnectionDefinition.getName())));
+ }
+ */
+ } catch (Exception e) {
+ throw new DeploymentException(e);
+ }
+ ObjectName managedConnectionFactoryObjectName = null;
+ try {
+ managedConnectionFactoryObjectName = ObjectName.getInstance(BASE_MANAGED_CONNECTION_FACTORY_NAME + connectionfactoryInstance.getName());
+ } catch (MalformedObjectNameException e) {
+ throw new DeploymentException("Could not construct ManagedConnectionFactory object name", e);
+ }
+ callback.addGBean(managedConnectionFactoryObjectName, managedConnectionFactoryGBean);
}
- callback.addGBean(managedConnectionFactoryObjectName, managedConnectionFactoryGBean);
}
//admin objects
@@ -235,15 +241,19 @@
GerAdminobjectType gerAdminObject = geronimoResourceAdapter.getAdminobjectArray()[i];
AdminobjectType adminobject = (AdminobjectType) adminObjectInterfaceMap.get(gerAdminObject.getAdminobjectInterface().getStringValue());
assert adminobject != null;
- GBeanInfoFactory adminObjectInfoFactory = new GBeanInfoFactory(AdminObjectWrapper.class.getName(), AdminObjectWrapper.getGBeanInfo());
- GBeanMBean adminObjectGBean = setUpDynamicGBean(adminObjectInfoFactory, adminobject.getConfigPropertyArray(), gerAdminObject.getConfigPropertySettingArray());
- ObjectName adminObjectObjectName = null;
- try {
- adminObjectObjectName = ObjectName.getInstance(BASE_ADMIN_OBJECT_NAME + gerAdminObject.getAdminObjectName());
- } catch (MalformedObjectNameException e) {
- throw new DeploymentException("Could not construct ManagedConnectionFactory object name", e);
+ for (int j = 0; j < gerAdminObject.getAdminobjectInstanceArray().length; j++) {
+ GerAdminobjectInstanceType gerAdminobjectInstance = gerAdminObject.getAdminobjectInstanceArray()[j];
+ GBeanInfoFactory adminObjectInfoFactory = new GBeanInfoFactory(AdminObjectWrapper.class.getName(), AdminObjectWrapper.getGBeanInfo());
+ GBeanMBean adminObjectGBean = setUpDynamicGBean(adminObjectInfoFactory, adminobject.getConfigPropertyArray(), gerAdminobjectInstance.getConfigPropertySettingArray());
+ ObjectName adminObjectObjectName = null;
+ try {
+ adminObjectObjectName = ObjectName.getInstance(BASE_ADMIN_OBJECT_NAME + gerAdminobjectInstance.getAdminobjectName());
+ } catch (MalformedObjectNameException e) {
+ throw new DeploymentException("Could not construct ManagedConnectionFactory object name", e);
+ }
+ callback.addGBean(adminObjectObjectName, adminObjectGBean);
+
}
- callback.addGBean(adminObjectObjectName, adminObjectGBean);
}
}
1.3 +25 -45 incubator-geronimo/modules/connector/src/java/org/apache/geronimo/connector/deployment/RARConfigurationFactory.java
1.2 +33 -40 incubator-geronimo/modules/connector/src/schema/geronimo-connector_1_5.xsd
Index: geronimo-connector_1_5.xsd
===================================================================
RCS file: /home/cvs/incubator-geronimo/modules/connector/src/schema/geronimo-connector_1_5.xsd,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- geronimo-connector_1_5.xsd 2 Feb 2004 22:10:35 -0000 1.1
+++ geronimo-connector_1_5.xsd 8 Feb 2004 20:21:57 -0000 1.2
@@ -43,14 +43,7 @@
<xsd:complexType name="adminobjectType">
<xsd:annotation>
<xsd:documentation>
-
- The adminobjectType specifies information about an
- administered object. Administered objects are specific to a
- messaging style or message provider. This contains
- information on the Java type of the interface implemented by
- an administered object, its Java class name and its
- configuration properties.
-
+ reference back into standard dd
</xsd:documentation>
</xsd:annotation>
@@ -59,17 +52,7 @@
type="j2ee:fully-qualified-classType">
<xsd:annotation>
<xsd:documentation>
- <![CDATA[
-
- The element adminobject-interface specifies the
- fully qualified name of the Java type of the
- interface implemented by an administered object.
-
- Example:
- <adminobject-interface>javax.jms.Destination
- </adminobject-interface>
-
- ]]>
+ believe it or not, there are no uniqueness constraints on admin object intf or class
</xsd:documentation>
</xsd:annotation>
@@ -77,30 +60,24 @@
<xsd:element name="adminobject-class"
type="j2ee:fully-qualified-classType">
<xsd:annotation>
- <xsd:documentation>
- <![CDATA[
-
- The element adminobject-class specifies the fully
- qualified Java class name of an administered object.
-
- Example:
- <adminobject-class>com.wombat.DestinationImpl
- </adminobject-class>
-
- ]]>
- </xsd:documentation>
+ <xsd:documentation>reference back into the standard dd</xsd:documentation>
</xsd:annotation>
</xsd:element>
+ <xsd:element name="adminobject-instance"
+ type="ger:adminobject-instanceType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
- <xsd:element name="admin-object-name"
- type="xsd:string">
- <xsd:annotation>
- <xsd:documentation>
- <![CDATA[
- unique name for admin object instance. Used in object name of mbean for it.
- ]]>
- </xsd:documentation>
- </xsd:annotation>
+ <xsd:complexType name="adminobject-instanceType">
+ <xsd:sequence>
+ <xsd:element name="adminobject-name"
+ type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation>unique name for admin object instance. Used in object name of mbean for it.
+ </xsd:documentation>
+ </xsd:annotation>
</xsd:element>
<xsd:element name="config-property-setting"
type="ger:config-property-settingType"
@@ -213,6 +190,14 @@
</xsd:documentation>
</xsd:annotation>
</xsd:element>
+ <xsd:element name="connectionfactory-instance"
+ type="ger:connectionfactory-instanceType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="connectionfactory-instanceType">
+ <xsd:sequence>
<xsd:element name="name"
type="xsd:string"/>
<xsd:element name="config-property-setting"
@@ -280,8 +265,16 @@
type="ger:resourceadapterType"/>
</xsd:sequence>
+ <xsd:attribute name="version" type="ger:versionType" use="required"/>
</xsd:complexType>
+ <xsd:simpleType name="versionType">
+ <xsd:restriction base="xsd:string">
+ <xsd:whiteSpace value="collapse"/>
+ <xsd:enumeration value="1.0"/>
+ <xsd:enumeration value="1.5"/>
+ </xsd:restriction>
+ </xsd:simpleType>
<!-- **************************************************** -->
<xsd:complexType name="credential-interfaceType">
1.2 +2 -2 incubator-geronimo/modules/connector/src/schema/xmlconfig.xml
Index: xmlconfig.xml
===================================================================
RCS file: /home/cvs/incubator-geronimo/modules/connector/src/schema/xmlconfig.xml,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- xmlconfig.xml 2 Feb 2004 22:10:35 -0000 1.1
+++ xmlconfig.xml 8 Feb 2004 20:21:57 -0000 1.2
@@ -1,9 +1,9 @@
<xb:config xmlns:xb="http://www.bea.com/2002/09/xbean/config"
>
- <xb:namespace uri="http://java.sun.com/xml/ns/j2ee">
+ <!--xb:namespace uri="http://java.sun.com/xml/ns/j2ee">
<xb:package>org.apache.geronimo.xbeans.j2ee</xb:package>
- </xb:namespace>
+ </xb:namespace-->
<xb:namespace uri="##local">
<xb:package>org.apache.geronimo.xbeans.j2ee.connector_1_0</xb:package>
1.3 +18 -2 incubator-geronimo/modules/connector/src/test/org/apache/geronimo/connector/deployment/Connector_1_0Test.java
Index: Connector_1_0Test.java
===================================================================
RCS file: /home/cvs/incubator-geronimo/modules/connector/src/test/org/apache/geronimo/connector/deployment/Connector_1_0Test.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- Connector_1_0Test.java 3 Feb 2004 06:51:21 -0000 1.2
+++ Connector_1_0Test.java 8 Feb 2004 20:21:57 -0000 1.3
@@ -60,6 +60,8 @@
import java.net.URI;
import java.util.Map;
import java.util.HashMap;
+import java.util.ArrayList;
+import java.util.List;
import java.util.zip.ZipEntry;
import java.util.jar.JarOutputStream;
import java.io.InputStream;
@@ -76,6 +78,7 @@
import org.apache.geronimo.deployment.DeploymentModule;
import org.apache.geronimo.deployment.ConfigurationCallback;
import org.apache.geronimo.gbean.jmx.GBeanMBean;
+import org.apache.xmlbeans.XmlOptions;
/**
*
@@ -88,17 +91,26 @@
private URL geronimoDD;
private URI configID = URI.create("geronimo/connector10/test");
private Map gbeans = new HashMap();
+ XmlOptions xmlOptions;
+ private List errors;
public void testLoadJ2eeDeploymentDescriptor() throws Exception {
InputStream j2eeInputStream = j2eeDD.openStream();
ConnectorDocument connectorDocument = ConnectorDocument.Factory.parse(j2eeInputStream);
assertNotNull(connectorDocument.getConnector().getResourceadapter());
+ if (!connectorDocument.validate(xmlOptions)) {
+ fail(errors.toString());
+ }
}
public void testLoadGeronimoDeploymentDescriptor() throws Exception {
InputStream geronimoInputStream = geronimoDD.openStream();
GerConnectorDocument connectorDocument = GerConnectorDocument.Factory.parse(geronimoInputStream);
assertNotNull(connectorDocument.getConnector().getResourceadapter());
+ if (!connectorDocument.validate(xmlOptions)) {
+ fail(errors.toString());
+ }
+
}
public void testCreateConnector_1_0Module() throws Exception {
@@ -119,7 +131,7 @@
InputStream moduleArchive = new ByteArrayInputStream(baos.toByteArray());
InputStream geronimoInputStream = geronimoDD.openStream();
GerConnectorDocument connectorDocument = GerConnectorDocument.Factory.parse(geronimoInputStream);
- RAR_1_0ConfigurationFactory rarConfigurationFactory = new RAR_1_0ConfigurationFactory(ObjectName.getInstance("geronimo.test:role=ConnectionTracker"));
+ RARConfigurationFactory rarConfigurationFactory = new RARConfigurationFactory(ObjectName.getInstance("geronimo.test:role=ConnectionTracker"));
DeploymentModule connector_1_0Module = rarConfigurationFactory.createModule(moduleArchive, connectorDocument, configID, true);
connector_1_0Module.init();
connector_1_0Module.generateClassPath(this);
@@ -130,6 +142,10 @@
File docDir = new File("src/test-data/connector_1_0");
j2eeDD = new File(docDir, "ra.xml").toURL();
geronimoDD = new File(docDir, "geronimo-ra.xml").toURL();
+ xmlOptions = new XmlOptions();
+ xmlOptions.setLoadLineNumbers();
+ errors = new ArrayList();
+ xmlOptions.setErrorListener(errors);
}
public void addFile(URI path, InputStream source) throws IOException {
1.3 +17 -2 incubator-geronimo/modules/connector/src/test/org/apache/geronimo/connector/deployment/Connector_1_5Test.java
Index: Connector_1_5Test.java
===================================================================
RCS file: /home/cvs/incubator-geronimo/modules/connector/src/test/org/apache/geronimo/connector/deployment/Connector_1_5Test.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- Connector_1_5Test.java 3 Feb 2004 06:51:21 -0000 1.2
+++ Connector_1_5Test.java 8 Feb 2004 20:21:57 -0000 1.3
@@ -65,6 +65,8 @@
import java.net.URI;
import java.util.Map;
import java.util.HashMap;
+import java.util.List;
+import java.util.ArrayList;
import java.util.zip.ZipEntry;
import java.util.jar.JarOutputStream;
@@ -76,6 +78,7 @@
import org.apache.geronimo.deployment.DeploymentModule;
import org.apache.geronimo.deployment.ConfigurationCallback;
import org.apache.geronimo.gbean.jmx.GBeanMBean;
+import org.apache.xmlbeans.XmlOptions;
/**
*
@@ -88,17 +91,25 @@
private URL geronimoDD;
private URI configID = URI.create("geronimo/connector15/test");
private Map gbeans = new HashMap();
+ XmlOptions xmlOptions;
+ private List errors;
public void testLoadJ2eeDeploymentDescriptor() throws Exception {
InputStream j2eeInputStream = j2eeDD.openStream();
ConnectorDocument connectorDocument = ConnectorDocument.Factory.parse(j2eeInputStream);
assertNotNull(connectorDocument.getConnector().getResourceadapter());
+ if (!connectorDocument.validate(xmlOptions)) {
+ fail(errors.toString());
+ }
}
public void testLoadGeronimoDeploymentDescriptor() throws Exception {
InputStream geronimoInputStream = geronimoDD.openStream();
GerConnectorDocument connectorDocument = GerConnectorDocument.Factory.parse(geronimoInputStream);
assertNotNull(connectorDocument.getConnector().getResourceadapter());
+ if (!connectorDocument.validate(xmlOptions)) {
+ fail(errors.toString());
+ }
}
public void testCreateConnector_1_5Module() throws Exception {
@@ -119,7 +130,7 @@
InputStream moduleArchive = new ByteArrayInputStream(baos.toByteArray());
InputStream geronimoInputStream = geronimoDD.openStream();
GerConnectorDocument connectorDocument = GerConnectorDocument.Factory.parse(geronimoInputStream);
- RAR_1_5ConfigurationFactory rarConfigurationFactory = new RAR_1_5ConfigurationFactory(ObjectName.getInstance("geronimo.test:role=ConnectionTracker"));
+ RARConfigurationFactory rarConfigurationFactory = new RARConfigurationFactory(ObjectName.getInstance("geronimo.test:role=ConnectionTracker"));
DeploymentModule connector_1_5Module = rarConfigurationFactory.createModule(moduleArchive, connectorDocument, configID, true);
connector_1_5Module.init();
connector_1_5Module.generateClassPath(this);
@@ -130,6 +141,10 @@
File docDir = new File("src/test-data/connector_1_5");
j2eeDD = new File(docDir, "ra.xml").toURL();
geronimoDD = new File(docDir, "geronimo-ra.xml").toURL();
+ xmlOptions = new XmlOptions();
+ xmlOptions.setLoadLineNumbers();
+ errors = new ArrayList();
+ xmlOptions.setErrorListener(errors);
}
public void addFile(URI path, InputStream source) throws IOException {
1.2 +49 -54 incubator-geronimo/modules/connector/src/test-data/connector_1_0/geronimo-ra.xml
Index: geronimo-ra.xml
===================================================================
RCS file: /home/cvs/incubator-geronimo/modules/connector/src/test-data/connector_1_0/geronimo-ra.xml,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- geronimo-ra.xml 2 Feb 2004 22:10:35 -0000 1.1
+++ geronimo-ra.xml 8 Feb 2004 20:21:57 -0000 1.2
@@ -1,64 +1,59 @@
<?xml version="1.0" encoding="UTF-8"?>
-<connector xmlns="http://org.apache.geronimo/xml/ns/j2ee"
- version="1.5">
+<connector xmlns="http://org.apache.geronimo/xml/ns/j2ee" version="1.0">
<resourceadapter>
<outbound-resourceadapter>
<connection-definition>
<connectionfactory-interface>javax.resource.cci.ConnectionFactory</connectionfactory-interface>
- <name>FirstTestOutboundConnectionFactory</name>
- <config-property-setting name="OutboundStringProperty1">newvalue1</config-property-setting>
- <config-property-setting name="OutboundStringProperty3">newvalue2</config-property-setting>
- <connectionmanager>
- <realm-bridge>TargetRealm</realm-bridge>
- <name>Test</name>
- <blockingTimeout>5000</blockingTimeout>
- <maxSize>10</maxSize>
- <useTransactions>true</useTransactions>
- <useLocalTransactions>false</useLocalTransactions>
- <useTransactionCaching>true</useTransactionCaching>
- <useSubject>true</useSubject>
- <useConnectionRequestInfo>false</useConnectionRequestInfo>
- </connectionmanager>
- <global-jndi-name>connectionfactories/testcf</global-jndi-name>
- </connection-definition>
- <connection-definition>
- <connectionfactory-interface>javax.resource.cci.ConnectionFactory</connectionfactory-interface>
- <name>SecondTestOutboundConnectionFactory</name>
- <config-property-setting name="OutboundStringProperty4">newvalue3</config-property-setting>
- <config-property-setting name="OutboundStringProperty1">newvalue4</config-property-setting>
- <connectionmanager>
- <realm-bridge>TargetRealm</realm-bridge>
- <name>Test</name>
- <blockingTimeout>5000</blockingTimeout>
- <maxSize>10</maxSize>
- <useTransactions>true</useTransactions>
- <useLocalTransactions>false</useLocalTransactions>
- <useTransactionCaching>true</useTransactionCaching>
- <useSubject>true</useSubject>
- <useConnectionRequestInfo>false</useConnectionRequestInfo>
- </connectionmanager>
- <security-domain>YourSecurityDomain</security-domain>
- </connection-definition>
- <connection-definition>
- <connectionfactory-interface>org.apache.geronimo.connector.mock.MockConnectionFactory</connectionfactory-interface>
- <name>ThirdTestOutboundConnectionFactory</name>
- <config-property-setting name="OutboundStringProperty">StringValue3</config-property-setting>
- <connectionmanager>
- <realm-bridge>TargetRealm</realm-bridge>
- <name>Test</name>
- <blockingTimeout>5000</blockingTimeout>
- <maxSize>10</maxSize>
- <useTransactions>true</useTransactions>
- <useLocalTransactions>false</useLocalTransactions>
- <useTransactionCaching>true</useTransactionCaching>
- <useSubject>true</useSubject>
- <useConnectionRequestInfo>false</useConnectionRequestInfo>
- </connectionmanager>
- <security-domain>TheirSecurityDomain</security-domain>
+ <connectionfactory-instance>
+ <name>FirstTestOutboundConnectionFactory</name>
+ <config-property-setting name="OutboundStringProperty1">newvalue1</config-property-setting>
+ <config-property-setting name="OutboundStringProperty3">newvalue2</config-property-setting>
+ <connectionmanager>
+ <realm-bridge>TargetRealm</realm-bridge>
+ <name>Test</name>
+ <blockingTimeout>5000</blockingTimeout>
+ <maxSize>10</maxSize>
+ <useTransactions>true</useTransactions>
+ <useLocalTransactions>false</useLocalTransactions>
+ <useTransactionCaching>true</useTransactionCaching>
+ <useConnectionRequestInfo>false</useConnectionRequestInfo>
+ <useSubject>true</useSubject>
+ </connectionmanager>
+ <global-jndi-name>connectionfactories/testcf</global-jndi-name>
+ </connectionfactory-instance>
+ <connectionfactory-instance>
+ <name>SecondTestOutboundConnectionFactory</name>
+ <config-property-setting name="OutboundStringProperty4">newvalue3</config-property-setting>
+ <config-property-setting name="OutboundStringProperty1">newvalue4</config-property-setting>
+ <connectionmanager>
+ <realm-bridge>TargetRealm</realm-bridge>
+ <name>Test</name>
+ <blockingTimeout>5000</blockingTimeout>
+ <maxSize>10</maxSize>
+ <useTransactions>true</useTransactions>
+ <useLocalTransactions>false</useLocalTransactions>
+ <useTransactionCaching>true</useTransactionCaching>
+ <useConnectionRequestInfo>false</useConnectionRequestInfo>
+ <useSubject>true</useSubject>
+ </connectionmanager>
+ </connectionfactory-instance>
+ <connectionfactory-instance>
+ <name>ThirdTestOutboundConnectionFactory</name>
+ <config-property-setting name="OutboundStringProperty">StringValue3</config-property-setting>
+ <connectionmanager>
+ <realm-bridge>TargetRealm</realm-bridge>
+ <name>Test</name>
+ <blockingTimeout>5000</blockingTimeout>
+ <maxSize>10</maxSize>
+ <useTransactions>true</useTransactions>
+ <useLocalTransactions>false</useLocalTransactions>
+ <useTransactionCaching>true</useTransactionCaching>
+ <useConnectionRequestInfo>false</useConnectionRequestInfo>
+ <useSubject>true</useSubject>
+ </connectionmanager>
+ </connectionfactory-instance>
</connection-definition>
<transaction-support>XATransaction</transaction-support>
</outbound-resourceadapter>
- <inbound-resourceadapter>
- </inbound-resourceadapter>
</resourceadapter>
</connector>
1.2 +57 -57 incubator-geronimo/modules/connector/src/test-data/connector_1_5/geronimo-ra.xml
Index: geronimo-ra.xml
===================================================================
RCS file: /home/cvs/incubator-geronimo/modules/connector/src/test-data/connector_1_5/geronimo-ra.xml,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- geronimo-ra.xml 2 Feb 2004 22:10:35 -0000 1.1
+++ geronimo-ra.xml 8 Feb 2004 20:21:57 -0000 1.2
@@ -1,76 +1,76 @@
<?xml version="1.0" encoding="UTF-8"?>
-<connector xmlns="http://org.apache.geronimo/xml/ns/j2ee"
- version="1.5">
+<connector xmlns="http://org.apache.geronimo/xml/ns/j2ee" version="1.5">
<resourceadapter>
<config-property-setting name="RAStringProperty">NewStringValue</config-property-setting>
<bootstrapcontext-name>geronimo.jca:service=bootstrapcontext</bootstrapcontext-name>
<outbound-resourceadapter>
<connection-definition>
<connectionfactory-interface>javax.resource.cci.ConnectionFactory</connectionfactory-interface>
- <name>FirstTestOutboundConnectionFactory</name>
- <config-property-setting name="OutboundStringProperty1">newvalue1</config-property-setting>
- <config-property-setting name="OutboundStringProperty3">newvalue2</config-property-setting>
- <connectionmanager>
- <realm-bridge>TargetRealm</realm-bridge>
- <name>Test</name>
- <blockingTimeout>5000</blockingTimeout>
- <maxSize>10</maxSize>
- <useTransactions>true</useTransactions>
- <useLocalTransactions>false</useLocalTransactions>
- <useTransactionCaching>true</useTransactionCaching>
- <useSubject>true</useSubject>
- <useConnectionRequestInfo>false</useConnectionRequestInfo>
- </connectionmanager>
- <global-jndi-name>connectionfactories/testcf</global-jndi-name>
- </connection-definition>
- <connection-definition>
- <connectionfactory-interface>javax.resource.cci.ConnectionFactory</connectionfactory-interface>
- <name>SecondTestOutboundConnectionFactory</name>
- <config-property-setting name="OutboundStringProperty4">newvalue3</config-property-setting>
- <config-property-setting name="OutboundStringProperty1">newvalue4</config-property-setting>
- <connectionmanager>
- <realm-bridge>TargetRealm</realm-bridge>
- <name>Test</name>
- <blockingTimeout>5000</blockingTimeout>
- <maxSize>10</maxSize>
- <useTransactions>true</useTransactions>
- <useLocalTransactions>false</useLocalTransactions>
- <useTransactionCaching>true</useTransactionCaching>
- <useSubject>true</useSubject>
- <useConnectionRequestInfo>false</useConnectionRequestInfo>
- </connectionmanager>
- <security-domain>YourSecurityDomain</security-domain>
+ <connectionfactory-instance>
+ <name>FirstTestOutboundConnectionFactory</name>
+ <config-property-setting name="OutboundStringProperty1">newvalue1</config-property-setting>
+ <config-property-setting name="OutboundStringProperty3">newvalue2</config-property-setting>
+ <connectionmanager>
+ <realm-bridge>TargetRealm</realm-bridge>
+ <name>Test</name>
+ <blockingTimeout>5000</blockingTimeout>
+ <maxSize>10</maxSize>
+ <useTransactions>true</useTransactions>
+ <useLocalTransactions>false</useLocalTransactions>
+ <useTransactionCaching>true</useTransactionCaching>
+ <useConnectionRequestInfo>false</useConnectionRequestInfo>
+ <useSubject>true</useSubject>
+ </connectionmanager>
+ <global-jndi-name>connectionfactories/testcf</global-jndi-name>
+ </connectionfactory-instance>
+ <connectionfactory-instance>
+ <name>SecondTestOutboundConnectionFactory</name>
+ <config-property-setting name="OutboundStringProperty4">newvalue3</config-property-setting>
+ <config-property-setting name="OutboundStringProperty1">newvalue4</config-property-setting>
+ <connectionmanager>
+ <realm-bridge>TargetRealm</realm-bridge>
+ <name>Test</name>
+ <blockingTimeout>5000</blockingTimeout>
+ <maxSize>10</maxSize>
+ <useTransactions>true</useTransactions>
+ <useLocalTransactions>false</useLocalTransactions>
+ <useTransactionCaching>true</useTransactionCaching>
+ <useConnectionRequestInfo>false</useConnectionRequestInfo>
+ <useSubject>true</useSubject>
+ </connectionmanager>
+ </connectionfactory-instance>
</connection-definition>
<connection-definition>
<connectionfactory-interface>org.apache.geronimo.connector.mock.MockConnectionFactory</connectionfactory-interface>
- <name>ThirdTestOutboundConnectionFactory</name>
- <config-property-setting name="OutboundStringProperty">StringValue3</config-property-setting>
- <connectionmanager>
- <realm-bridge>TargetRealm</realm-bridge>
- <name>Test</name>
- <blockingTimeout>5000</blockingTimeout>
- <maxSize>10</maxSize>
- <useTransactions>true</useTransactions>
- <useLocalTransactions>false</useLocalTransactions>
- <useTransactionCaching>true</useTransactionCaching>
- <useSubject>true</useSubject>
- <useConnectionRequestInfo>false</useConnectionRequestInfo>
- </connectionmanager>
- <security-domain>TheirSecurityDomain</security-domain>
+ <connectionfactory-instance>
+ <name>ThirdTestOutboundConnectionFactory</name>
+ <config-property-setting name="OutboundStringProperty">StringValue3</config-property-setting>
+ <connectionmanager>
+ <realm-bridge>TargetRealm</realm-bridge>
+ <name>Test</name>
+ <blockingTimeout>5000</blockingTimeout>
+ <maxSize>10</maxSize>
+ <useTransactions>true</useTransactions>
+ <useLocalTransactions>false</useLocalTransactions>
+ <useTransactionCaching>true</useTransactionCaching>
+ <useConnectionRequestInfo>false</useConnectionRequestInfo>
+ <useSubject>true</useSubject>
+ </connectionmanager>
+ </connectionfactory-instance>
</connection-definition>
<transaction-support>XATransaction</transaction-support>
</outbound-resourceadapter>
- <inbound-resourceadapter>
- </inbound-resourceadapter>
- <adminobject>
- <adminobject-interface>org.apache.geronimo.connector.mock.MockAdminObject</adminobject-interface>
- <adminobject-class>org.apache.geronimo.connector.mock.AdminObjectImpl</adminobject-class>
- <config-property-setting name="Tweedle">Dee-value</config-property-setting>
- </adminobject>
<adminobject>
<adminobject-interface>org.apache.geronimo.connector.mock.MockAdminObject</adminobject-interface>
<adminobject-class>org.apache.geronimo.connector.mock.AdminObjectImpl</adminobject-class>
- <config-property-setting name="Tweedle">Dum-value</config-property-setting>
+ <adminobject-instance>
+ <adminobject-name>tweedledee</adminobject-name>
+ <config-property-setting name="Tweedle">Dee-value</config-property-setting>
+ </adminobject-instance>
+ <adminobject-instance>
+ <adminobject-name>tweedledum</adminobject-name>
+ <config-property-setting name="Tweedle">Dum-value</config-property-setting>
+ </adminobject-instance>
</adminobject>
</resourceadapter>
</connector>