Hi All,
I'm attempting to connect to a PostgreSQL database via a database pool and seeing some
odd behavior:
JBoss 4.0.5
c3p0-0.9.1-pre6.jar
PostgreSQL 8.1
It looks to me that the pool is starting correctly, as I see it in the logs
| 22:26:16,920 INFO [C3P0PooledDataSource] Bound C3P0 PooledDataSource to name
'java:EventDBPool'. Starting...
| 22:26:16,951 INFO [PoolBackedDataSource] Initializing c3p0 pool...
com.mchange.v2.c3p0.ComboPooledDataSource@5d11c3f0[ ...
| 22:26:16,993 INFO [JmxKernelAbstraction] installing MBean:
persistence.units:ear=DataTier.ear,jar=DataTier.jar,unitName=EventDBUnit with
dependencies:
| 22:26:16,994 INFO [JmxKernelAbstraction]
jboss.jca:name=EventDBPool,service=DataSourceBinding
|
However below I see:
| --- MBeans waiting for other MBeans ---
| ObjectName: persistence.units:ear=DataTier.ear,jar=DataTier.jar,unitName=EventDBUnit
| State: NOTYETINSTALLED
| I Depend On:
| jboss.jca:name=EventDBPool,service=DataSourceBinding
|
| --- MBEANS THAT ARE THE ROOT CAUSE OF THE PROBLEM ---
| ObjectName: jboss.jca:name=EventDBPool,service=DataSourceBinding
| State: NOTYETINSTALLED
| Depends On Me:
| persistence.units:ear=DataTier.ear,jar=DataTier.jar,unitName=EventDBUnit
|
Here's my c3p0-service.xml:
<?xml version="1.0" encoding="UTF-8"?>
| <!DOCTYPE server PUBLIC "-//JBoss//DTD MBean Service 4.0//EN"
"http://www.jboss.org/j2ee/dtd/jboss-service_4_0.dtd">
| <server>
| <mbean code="com.mchange.v2.c3p0.mbean.C3P0PooledDataSource"
name="jboss:service=EventDBPooledDS">
| <attribute name="JndiName">java:EventDBPool</attribute>
| <attribute
name="JdbcUrl">jdbc:postgresql://localhost/EventDB</attribute>
| <attribute
name="DriverClass">org.postgresql.Driver</attribute>
| <attribute name="User">myuser</attribute>
| <attribute name="Password">mypass</attribute>
| <attribute name="IdleConnectionTestPeriod">90</attribute>
| <attribute name="MaxPoolSize">15</attribute>
| <attribute name="MinPoolSize">5</attribute>
| <attribute name="TestConnectionOnCheckin">true</attribute>
|
| <depends>jboss:service=Naming</depends>
| </mbean>
| </server>
|
And my persistence.xml
| <?xml version="1.0" encoding="UTF-8"?>
| <persistence
xmlns="http://java.sun.com/xml/ns/persistence"
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
| version="1.0">
| <persistence-unit name="EventDBUnit"
transaction-type="JTA">
| <provider>org.hibernate.ejb.HibernatePersistence</provider>
| <jta-data-source>java:EventDBPool</jta-data-source>
| <properties>
| <property name="hibernate.show_sql" value="true" />
| </properties>
| </persistence-unit>
|
Also, if I create an EntityManagerFactory from that persistence unit directly in my code,
I'm able to use it. However, if I use dependency injection via @PersistenceContext it
doesn't work.
My questions:
1) is there an error in my persistence.xml or c3p0-service.xml preventing startup or
connection to the pool?
2) ought I to be using c3p0 still or JBoss's ManagedConnectionPool?
Thanks in advance,
David
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3983368#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...