You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@openjpa.apache.org by Dmitry Zamula <cl...@gmail.com> on 2012/04/17 12:11:30 UTC
MappingToolTask does not work with ConnectionDriverName: BasicDataSource
Hello!
I'm getting an error with OpenJPA 2.2.0 - when using the pooling, the
MappingToolTask does not work.
Part of my build.xml:
<target name="refresh">
<taskdef name="tablerefresh"
classname="org.apache.openjpa.jdbc.ant.MappingToolTask">
<classpath refid="myclasspath" />
</taskdef>
<tablerefresh schemaAction="drop">
<config propertiesFile="${dist.persistence.dir}/persistence.xml" />
</tablerefresh>
</target>
Part of my persistence.xml:
<property name="openjpa.ConnectionDriverName"
value="org.apache.commons.dbcp.BasicDataSource" />
<property name="openjpa.ConnectionURL"
value="jdbc:mysql://localhost:3306/mydb"/>
<property name="openjpa.ConnectionProperties"
value="DriverClassName=com.mysql.jdbc.Driver,
autoReconnect=true&useUnicode=true&createDatabaseIfNotExist=true&characterEncoding=utf-8&connectionCollation=utf8_general_ci&cachePrepStmts=true&cacheCallableStatements=true&cacheServerConfiguration=true&useLocalSessionState=true&elideSetAutoCommits=true&alwaysSendSetIsolation=false&enableQueryTimeouts=false&prepStmtCacheSize=3000&prepStmtCacheSqlLimit=1000
, MaxActive=100
, MaxWait=10000
, TestOnBorrow=true
, poolPreparedStatements=true
, Username=root
, Password="/>
<property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema"/>
<property name="openjpa.DataCache" value="true"/>
<property name="openjpa.QueryCache" value="false"/>
<property name="openjpa.jdbc.DBDictionary"
value="batchLimit=100,tableType=myisam"/>
<property name="openjpa.jdbc.QuerySQLCache" value="false"/>
After executing "ant refresh", I get this exception:
<openjpa-2.2.0-r422266:1244990 fatal user error>
org.apache.openjpa.util.UserException: A connection could not be obtained
for driver class "org.apache.commons.dbcp.BasicDataSource" and URL
"jdbc:mysql://localhost:3306/mydb". You may have specified an invalid URL.
at
org.apache.openjpa.jdbc.schema.DataSourceFactory.newConnectException(DataSourceFactory.java:255)
at
org.apache.openjpa.jdbc.schema.DataSourceFactory.newDataSource(DataSourceFactory.java:123)
at
org.apache.openjpa.jdbc.conf.JDBCConfigurationImpl.createConnectionFactory(JDBCConfigurationImpl.java:844)
at
org.apache.openjpa.jdbc.conf.JDBCConfigurationImpl.getConnectionFactory(JDBCConfigurationImpl.java:732)
at
org.apache.openjpa.jdbc.conf.JDBCConfigurationImpl.getDataSource(JDBCConfigurationImpl.java:872)
at
org.apache.openjpa.jdbc.conf.JDBCConfigurationImpl.getDataSource2(JDBCConfigurationImpl.java:914)
at
org.apache.openjpa.jdbc.schema.SchemaTool.<init>(SchemaTool.java:132)
at
org.apache.openjpa.jdbc.meta.MappingTool.newSchemaTool(MappingTool.java:312)
at
org.apache.openjpa.jdbc.meta.MappingTool.record(MappingTool.java:493)
at
org.apache.openjpa.jdbc.meta.MappingTool.run(MappingTool.java:1090)
at
org.apache.openjpa.jdbc.ant.MappingToolTask.executeOn(MappingToolTask.java:222)
at
org.apache.openjpa.lib.ant.AbstractTask.execute(AbstractTask.java:171)
at
org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
at org.apache.tools.ant.Task.perform(Task.java:348)
at org.apache.tools.ant.Target.execute(Target.java:390)
at org.apache.tools.ant.Target.performTasks(Target.java:411)
at
org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)
at org.apache.tools.ant.Project.executeTarget(Project.java:1368)
at
org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
at org.apache.tools.ant.Project.executeTargets(Project.java:1251)
at org.apache.tools.ant.Main.runBuild(Main.java:809)
at org.apache.tools.ant.Main.startAnt(Main.java:217)
at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280)
at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)
Caused by: java.lang.IllegalArgumentException:
java.lang.ClassNotFoundException: org.apache.commons.dbcp.BasicDataSource
at serp.util.Strings.toClass(Strings.java:164)
at serp.util.Strings.toClass(Strings.java:108)
at
org.apache.openjpa.lib.conf.Configurations.newInstance(Configurations.java:211)
at
org.apache.openjpa.lib.conf.Configurations.newInstance(Configurations.java:170)
at
org.apache.openjpa.jdbc.schema.DataSourceFactory.newDataSource(DataSourceFactory.java:114)
... 26 more
All required classes are in classpath.
_____________________________________
Thanks,
Dmitry Zamula