JBOSS and Postgresql
gcm614 Jan 4, 2003 2:46 AMWhen I test autocommit in a bmp entity bean it is always true even though the transactions are set to required in the deployment descriptor!
I am accessing the Datasource through java:/RealEstateProDS
Any Ideas?
Code:
InitialContext theContext = new InitialContext();
DataSource theDataSource = (DataSource) theContext.lookup("java:/RealEstateProDS");
theDBConn = theDataSource.getConnection();
System.out.println("AutoCommit: " + theDBConn.getAutoCommit());
ejb-jar.xml:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE ejb-jar>
<ejb-jar>
Deployment descriptor for Realestate Pro
<display-name>Realestate Pro</display-name>
<enterprise-beans>
<ejb-name>CUser</ejb-name>
com.skyviewsoftware.realestatepro.CUserHome
com.skyviewsoftware.realestatepro.CUser
<ejb-class>com.skyviewsoftware.realestatepro.CUserEJB</ejb-class>
<persistence-type>Bean</persistence-type>
<prim-key-class>com.skyviewsoftware.realestatepro.CUserPK</prim-key-class>
False
</enterprise-beans>
<assembly-descriptor>
<container-transaction>
<ejb-name>CUser</ejb-name>
<method-name>*</method-name>
<trans-attribute>Required</trans-attribute>
</container-transaction>
</assembly-descriptor>
</ejb-jar>
Service:
<?xml version="1.0" encoding="UTF-8"?>
<!-- ======================================================================================== -->
<!-- New ConnectionManager setup for default PostgreSQL dbs -->
<!-- Build jmx-api (build/build.sh all) and view for config documentation -->
<!-- To avoid class not found headaches, copy your postgres driver to the jboss lib directory -->
<!-- ======================================================================================== -->
<!-- ======================================================= -->
<!-- You must include a login module configuration named PostgresDbRealm
in your login-conf.xml, here is an example for a
ConfiguredIdentityLoginModule:
<application-policy name = "PostgresDbRealm">
<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=realestateprodb</module-option>
</login-module>
</application-policy>
NOTE: the application-policy name attribute must match SecurityDomainJndiName, and the
module-option name = "managedConnectionFactoryName"
must match the object name of the ConnectionManager you are configuring here.
-->
<!-- ===================================================================== -->
<!--uncomment out this line if you are using the PostgresDbRealm above
PostgresDbRealm
-->
<depends optional-attribute-name="ManagedConnectionFactoryName">
<!--embedded mbean-->
<!-- ========== Set the JndiName ======================= -->
RealEstateProDS
<config-property name="ConnectionURL" type="java.lang.String">jdbc:postgresql://localhost/realestatepro</config-property>
<config-property name="DriverClass" type="java.lang.String">org.postgresql.Driver</config-property>
<!--set these only if you want only default logins, not through JAAS -->
<config-property name="UserName" type="java.lang.String">realestatepro</config-property>
<config-property name="Password" type="java.lang.String">rp1</config-property>
<!--Below here are advanced properties -->
<!--hack-->
<depends optional-attribute-name="OldRarDeployment">jboss.jca:service=RARDeployment,name=JBoss LocalTransaction JDBC Wrapper
<!--real attributes-->
<depends optional-attribute-name="ManagedConnectionPool">
<!--embedded mbean-->
1
50
5000
15
<!--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)-->
ByContainer
<depends optional-attribute-name="CachedConnectionManager">jboss.jca:service=CachedConnectionManager
<depends optional-attribute-name="JaasSecurityManagerService">jboss.security:service=JaasSecurityManager
java:/TransactionManager
<!--make the rar deploy! hack till better deployment-->
jboss.jca:service=RARDeployer