config/jboss/deploy/mckoi-service.xml (41 lines of code) (raw):

<?xml version="1.0" encoding="UTF-8"?> <!-- $Id$ --> <!-- ===================================================================== --> <!-- --> <!-- McKoi Database 1.00 configuration --> <!-- --> <!-- ===================================================================== --> <!-- This is basically a cut-and-paste of the Solid example service, modified for McKoi DB. This required McKoi release 1.00, which includes the MBean implementation that allow it to operate within JBoss (previously, a seperate MBean JAR file was needed). --> <server> <!-- The current working directory is the JBoss/bin directory, so this relative path works. --> <mbean code="net.sf.tapestry.contrib.mckoi.McKoiDB" name="jboss:service=McKoiDB"> <attribute name="ConfigPath">../server/tapestry/db/tapestry.conf</attribute> </mbean> <mbean code="org.jboss.resource.connectionmanager.LocalTxConnectionManager" name="jboss.jca:service=LocalTxCM,name=McKoiDB"> <depends>jboss:service=McKoiDB</depends> <depends optional-attribute-name="ManagedConnectionFactoryName"> <!--embedded mbean--> <mbean code="org.jboss.resource.connectionmanager.RARDeployment" name="jboss.jca:service=LocalTxDS,name=McKoiDB"> <attribute name="JndiName">McKoiDB</attribute> <!--NOTE: Solid wants the username/password in the URL, it will ignore the specific arguments.--> <attribute name="ManagedConnectionFactoryProperties"> <properties> <config-property name="ConnectionURL" type="java.lang.String">jdbc:mckoi://localhost/</config-property> <config-property name="DriverClass" type="java.lang.String">com.mckoi.JDBCDriver</config-property> <config-property name="UserName" type="java.lang.String">admin</config-property> <config-property name="Password" type="java.lang.String">secret</config-property> </properties> <!--These properties are ignored by the Solid driver. <config-property name="UserName" type="java.lang.String"></config-property> <config-property name="Password" type="java.lang.String"></config-property> --> </attribute> <!--hack--> <depends optional-attribute-name="OldRarDeployment">jboss.jca:service=RARDeployment,name=JBoss LocalTransaction JDBC Wrapper</depends> </mbean> </depends> <depends optional-attribute-name="ManagedConnectionPool"> <!--embedded mbean--> <mbean code="org.jboss.resource.connectionmanager.JBossManagedConnectionPool" name="jboss.jca:service=LocalTxPool,name=McKoiDB"> <attribute name="MinSize">0</attribute> <attribute name="MaxSize">50</attribute> <attribute name="BlockingTimeoutMillis">5000</attribute> <attribute name="IdleTimeoutMinutes">15</attribute> <!--criteria indicates if Subject (from security domain) or app supplied parameters (such as from getConnection(user, pw)) are used to distinguish connections in the pool. Choices are ByContainerAndApplication (use both), ByContainer (use Subject), ByApplication (use app supplied params only), ByNothing (all connections are equivalent, usually if adapter supports reauthentication)--> <!-- Since at present only a single user specified in the URL is supported, ByNothing is mosst appropriate. If a URL construction scheme is implemented, this could be one of the other values --> <attribute name="Criteria">ByNothing</attribute> </mbean> </depends> <depends optional-attribute-name="CachedConnectionManager">jboss.jca:service=CachedConnectionManager</depends> <!-- Since the username/password needs to be in the url, there is no way at present for a generic wrapper to supply user/pw to the driver. A custom wrapper could be used to consruct the url dynamically from a base and the user/pw. In case someone does that, I'm leaving the container-managed-security attribute in. --> <!-- <attribute name="SecurityDomainJndiName">SolidDbRealm</attribute>--> <depends optional-attribute-name="JaasSecurityManagerService">jboss.security:service=JaasSecurityManager</depends> <attribute name="TransactionManager">java:/TransactionManager</attribute> <!--make the rar deploy! hack till better deployment--> <depends>jboss.jca:service=RARDeployer</depends> </mbean> </server>