ModeShape JPA using MySql
tabishshaikh Mar 15, 2011 9:19 AMHello Everyone,
I am trying to use ModeShape with MySql and my configuration is as follows
***************************************************************
<?xml version="1.0" encoding="UTF-8"?>
<configuration xmlns:mode="http://www.modeshape.org/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0">
<mode:sources jcr:primaryType="nt:unstructured">
<mode:source jcr:name="Cars" mode:classname="org.modeshape.connector.store.jpa.JpaSource"
mode:model="Simple"
mode:dialect="org.hibernate.dialect.MySQLDialect"
mode:driverClassName="com.mysql.jdbc.Driver"
mode:username="msf"
mode:password="msf"
mode:url="mysql://192.168.1.4:3306/jcr?autoReconnect=true"
mode:maximumConnectionsInPool="1"
mode:referentialIntegrityEnforced="true"
mode:largeValueSizeInBytes="10000"
mode:retryLimit="3"
mode:compressData="false"
mode:predefinedWorkspaceNames="workspace1"
mode:showSql="true"
mode:autoGenerateSchema="create"
mode:creatingWorkspacesAllowed="true"
mode:defaultWorkspaceName="workspace1" />
</mode:sources>
<mode:mimeTypeDetectors>
<mode:mimeTypeDetector jcr:name="Detector">
<mode:description>Standard extension-based MIME type detector</mode:description>
<mode:classname>org.modeshape.graph.mimetype.ExtensionBasedMimeTypeDetector</mode:classname>
<mode:classpath></mode:classpath>
<mode:classpath></mode:classpath>
</mode:mimeTypeDetector>
</mode:mimeTypeDetectors>
<mode:repositories>
<mode:repository jcr:name="Cars">
<mode:source>Cars</mode:source>
<jcr:nodeTypes mode:resource="/cars.cnd" />
<namespaces jcr:primaryType="mode:namespaces">
<car jcr:primaryType="mode:namespace" mode:uri="http://jboss.org/dna/examples/cars/1.0"/>
</namespaces>
<mode:descriptors>
<myDescriptor mode:value="foo" />
</mode:descriptors>
</mode:repository>
</mode:repositories>
</configuration>
**********************************************************
When I am trying to initialiaze the repository from a Spring test case I get the following error
**********************************************************
DEBUG - PersistenceManagerTest.testSpring(22) | Into the test com.indieontech.PersistenceManager@6293df2c
DEBUG - PersistenceManager.init(74) | Initialization of the Persistence Manager................
DEBUG - PersistenceManager.init(81) | Loading Configurations ......................
DEBUG - PersistenceManager.init(99) | Starting Engine ..............
DEBUG - Logger.debug(191) | Properties for Hibernate configuration used for ModeShape JPA Source Cars:
DEBUG - Logger.debug(191) | hibernate.connection.url = mysql://192.168.1.4:3306/jcr?autoReconnect=true
DEBUG - Logger.debug(191) | hibernate.connection.max_fetch_depth = 3
DEBUG - Logger.debug(191) | hibernate.c3p0.max_size = 1
DEBUG - Logger.debug(191) | hibernate.c3p0.min_size = 0
DEBUG - Logger.debug(191) | hibernate.cache.provider_class = org.hibernate.cache.NoCacheProvider
DEBUG - Logger.debug(191) | hibernate.c3p0.timeout = 600
DEBUG - Logger.debug(191) | hibernate.format_sql = true
DEBUG - Logger.debug(191) | hibernate.c3p0.validate = false
DEBUG - Logger.debug(191) | hibernate.connection.password = msf
DEBUG - Logger.debug(191) | hibernate.connection.username = msf
DEBUG - Logger.debug(191) | hibernate.hbm2ddl.auto = create
DEBUG - Logger.debug(191) | hibernate.connection.driver_class = com.mysql.jdbc.Driver
DEBUG - Logger.debug(191) | hibernate.dialect = org.hibernate.dialect.MySQLDialect
DEBUG - Logger.debug(191) | hibernate.bytecode.use_reflection_optimizer = false
DEBUG - Logger.debug(191) | hibernate.connection.provider_class = org.hibernate.connection.C3P0ConnectionProvider
DEBUG - Logger.debug(191) | hibernate.use_sql_comments = true
DEBUG - Logger.debug(191) | hibernate.c3p0.idle_test_period = 180
DEBUG - Logger.debug(191) | hibernate.c3p0.acquire_increment = 1
DEBUG - Logger.debug(191) | hibernate.c3p0.max_statements = 100
DEBUG - Logger.debug(191) | hibernate.show_sql = true
DEBUG - Logger.debug(191) | hibernate.connection.pool_size = 0
WARN - BasicResourcePool$AcquireTask.run(1841) | com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@5b2ddfe4 -- Acquisition Attempt Failed!!! Clearing pending acquires. While trying to acquire a needed new resource, we failed to succeed more than the maximum number of allowed acquisition attempts (30). Last acquisition attempt exception:
java.sql.SQLException: No suitable driver
at java.sql.DriverManager.getDriver(DriverManager.java:264)
at com.mchange.v2.c3p0.DriverManagerDataSource.driver(DriverManagerDataSource.java:224)
at com.mchange.v2.c3p0.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:135)
at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:182)
at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:171)
at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.acquireResource(C3P0PooledConnectionPool.java:137)
at com.mchange.v2.resourcepool.BasicResourcePool.doAcquire(BasicResourcePool.java:1014)
at com.mchange.v2.resourcepool.BasicResourcePool.access$800(BasicResourcePool.java:32)
at com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.run(BasicResourcePool.java:1810)
at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:547)
WARN - SettingsFactory.buildSettings(144) | Could not obtain connection metadata
java.sql.SQLException: Connections could not be acquired from the underlying database!
at com.mchange.v2.sql.SqlUtils.toSQLException(SqlUtils.java:106)
at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutPooledConnection(C3P0PooledConnectionPool.java:529)
at com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource.getConnection(AbstractPoolBackedDataSource.java:128)
at org.hibernate.connection.C3P0ConnectionProvider.getConnection(C3P0ConnectionProvider.java:78)
at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:111)
at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2101)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1325)
at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:867)
at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:669)
at org.modeshape.connector.store.jpa.JpaSource.getConnection(JpaSource.java:1206)
at org.modeshape.graph.connector.RepositoryConnectionPool.newWrappedConnection(RepositoryConnectionPool.java:980)
at org.modeshape.graph.connector.RepositoryConnectionPool.getConnection(RepositoryConnectionPool.java:831)
at org.modeshape.repository.RepositoryLibrary.createConnection(RepositoryLibrary.java:558)
at org.modeshape.graph.Graph.execute(Graph.java:278)
at org.modeshape.graph.Graph$5.process(Graph.java:226)
at org.modeshape.graph.request.RequestBuilder.verifyWorkspace(RequestBuilder.java:72)
at org.modeshape.graph.Graph.useWorkspace(Graph.java:377)
at org.modeshape.graph.Graph.getCurrentWorkspace(Graph.java:352)
at org.modeshape.graph.Graph.getCurrentWorkspaceName(Graph.java:337)
at org.modeshape.jcr.JcrRepository.<init>(JcrRepository.java:744)
at org.modeshape.jcr.JcrEngine.doCreateJcrRepository(JcrEngine.java:435)
at org.modeshape.jcr.JcrEngine.getRepository(JcrEngine.java:271)
at com.indieontech.PersistenceManager.init(PersistenceManager.java:110)
at com.indieontech.PersistenceManagerTest.testSpring(PersistenceManagerTest.java:23)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:74)
at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:82)
at org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:72)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:240)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:49)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)
at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:180)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:59)
at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:115)
at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:102)
at org.apache.maven.surefire.Surefire.run(Surefire.java:180)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:350)
at org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:1021)
Caused by: com.mchange.v2.resourcepool.CannotAcquireResourceException: A ResourcePool could not acquire a resource from its primary factory or source.
at com.mchange.v2.resourcepool.BasicResourcePool.awaitAvailable(BasicResourcePool.java:1319)
at com.mchange.v2.resourcepool.BasicResourcePool.prelimCheckoutResource(BasicResourcePool.java:557)
at com.mchange.v2.resourcepool.BasicResourcePool.checkoutResource(BasicResourcePool.java:477)
at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutPooledConnection(C3P0PooledConnectionPool.java:525)
... 54 more
********************************************************
I have tried to run it as a standalone app also and the same error occurs....
Any tips on how to get this running ? Thanking you all in advance for the help
Kind Regards,
Tabish Anwar Shaikh