JBoss-Tomcat & PostgreSQL
jcevans Apr 20, 2002 6:05 PMI have been trying to get JBoss, Tomcat and PostgreSQL to work together for some time without much progress. So I hope to ask a few questions, and maybe get past this hurdle. I have installed jboss-3.0.0RC1_tomcat-4.0.3 and postgres-7.2.1, I think correctly.
I have downloaded the latest postgres-service.xml.
http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/jboss/jbosscx/src/etc/example-config/. PostgreSQL by default listens on port 5432. My database is named "test".
Question 1: I have changed just a few attributes in that file: ConnectionURL, UserName, Password. Is there anything else that I must/should change in the XML service file? Thanks in advance.
Chris Evans_____________________________________________________
<?xml version="1.0" encoding="UTF-8"?>
<!-- ===================================================================== -->
<!-- -->
<!-- JBoss Server Configuration -->
<!-- -->
<!-- ===================================================================== -->
<server>
<!-- ==================================================================== -->
<!-- New ConnectionManager setup for default PostgreSQL dbs -->
<!-- Build jmx-api (build/build.sh all) and view for config documentation -->
<!-- ==================================================================== -->
<mbean code="org.jboss.resource.connectionmanager.LocalTxConnectionManager" name="jboss.jca:service=LocalTxCM,name=PostgresDS">
<!--make the rar deploy! hack till better deployment-->
<depends>jboss.jca:service=RARDeployer</depends>
<depends optional-attribute-name="ManagedConnectionFactoryName">
<!--embedded mbean-->
<mbean code="org.jboss.resource.connectionmanager.RARDeployment" name="jboss.jca:service=LocalTxDS,name=PostgresDS">
<!--hack-->
<depends optional-attribute-name="OldRarDeployment">jboss.jca:service=RARDeployment,name=Minerva JDBC LocalTransaction ResourceAdapter</depends>
<!--real attributes-->
<attribute name="ManagedConnectionFactoryProperties">
<properties>
<config-property>
<config-property-name>ConnectionURL</config-property-name>
<config-property-type>java.lang.String</config-property-type>
<config-property-value>jdbc:postgresql://localhost:5432/test</config-property-value>
</config-property>
<config-property>
<config-property-name>DriverClass</config-property-name>
<config-property-type>java.lang.String</config-property-type>
<config-property-value>org.postgresql.Driver</config-property-value>
</config-property>
<config-property>
<config-property-name>UserName</config-property-name>
<config-property-type>java.lang.String</config-property-type>
<config-property-value>postgres</config-property-value>
</config-property>
<config-property>
<config-property-name>Password</config-property-name>
<config-property-type>java.lang.String</config-property-type>
<config-property-value>postgres</config-property-value>
</config-property>
</properties>
</attribute>
<attribute name="JndiName">PostgresDS</attribute>
</mbean>
</depends>
<depends optional-attribute-name="ManagedConnectionPool">
<!--embedded mbean-->
<mbean code="org.jboss.resource.connectionmanager.JBossManagedConnectionPool" name="jboss.jca:service=LocalTxPool,name=PostgresDS">
<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)-->
<attribute name="Criteria">ByContainer</attribute>
</mbean>
</depends>
<depends optional-attribute-name="CachedConnectionManager">jboss.jca:service=CachedConnectionManager</depends>
<!-- Include a login module configuration named PostgresDbRealm.
Update your login-conf.xml, here is an example for a
ConfiguredIdentityLoginModule:
<application-policy name = "PostgresDbRealm">
<authentication>
<login-module code = "org.jboss.resource.security.ConfiguredIdentityLoginModule" flag = "required">
<module-option name = "principal">yourprincipal</module-option>
<module-option name = "userName">yourusername</module-option>
<module-option name = "password">yourpassword</module-option>
<module-option name = "managedConnectionFactoryName">jboss.jca:service=LocalTxCM,name=PostgresDS</module-option>
</login-module>
</authentication>
</application-policy>
NOTE: the application-policy name attribute must match the part of
SecurityDomainJndiName after java:/jaas/, and the
module-option name = "managedConnectionFactoryName"
must match the object name of the ConnectionManager you are configuring here.
-->
<!--comment out this line if you want component managed security or want
to use the default values in the ManagedConnectionFactoryProperties -->
<attribute name="SecurityDomainJndiName">java:/jaas/PostgresDbRealm</attribute>
<attribute name="TransactionManager">java:/TransactionManager</attribute>
</mbean>
</server>