i trying create entitymanager @ runtime can set different user name , password config.xml
here code to create entitymanager
map.put(persistenceunitproperties.jdbc_user, systemconfig.getconfig().getstring("jdbcuser")); map.put(persistenceunitproperties.jdbc_password, systemconfig.getconfig().getstring("jdbcpassword")); map.put(persistenceunitproperties.jdbc_url, systemconfig.getconfig().getstring("jdbcurl")); map.put(persistenceunitproperties.jdbc_driver, "net.sourceforge.jtds.jdbc.driver"); entitymanager emgr = persistence.createentitymanagerfactory("mypu", map).createentitymanager(); my program structure in unix: ~/test/myprogram.jar ~/test/lib/*.jar (all library , jdbc.jar here)
the program works fine when run program inside folder /test/ when run program under root ~/ exception [eclipselink-4021]. idea why??
note: need schedule program using cron job.
[el info]: 2013-05-06 12:10:18.989--serversession(1729331687)--eclipselink, version: eclipse persistence services - 2.4.1.v20121003-ad44345 [el severe]: ejb: 2013-05-06 12:10:19.002--serversession(1729331687)--exception [eclipselink-4021] (eclipse persistence services - 2.4.1.v20121003-ad44345): org.eclipse.persistence.exceptions.databaseexception exception description: unable acquire connection driver [net.sourceforge.jtds.jdbc.driver], user [null] , url [null]. verify have set expected driver class , url. check login, persistence.xml or sessions.xml resource. jdbc.driver property should set class compatible database platform exception in thread "main" javax.persistence.persistenceexception: exception [eclipselink-4021] (eclipse persistence services - 2.4.1.v20121003-ad44345): org.eclipse.persistence.exceptions.databaseexception exception description: unable acquire connection driver [net.sourceforge.jtds.jdbc.driver], user [null] , url [null]. verify have set expected driver class , url. check login, persistence.xml or sessions.xml resource. jdbc.driver property should set class compatible database platform @ org.eclipse.persistence.internal.jpa.entitymanagersetupimpl.deploy(entitymanagersetupimpl.java:602) @ org.eclipse.persistence.internal.jpa.entitymanagerfactorydelegate.getdatabasesession(entitymanagerfactorydelegate.java:186) @ org.eclipse.persistence.internal.jpa.entitymanagerfactorydelegate.createentitymanagerimpl(entitymanagerfactorydelegate.java:278) @ org.eclipse.persistence.internal.jpa.entitymanagerfactoryimpl.createentitymanagerimpl(entitymanagerfactoryimpl.java:304) @ org.eclipse.persistence.internal.jpa.entitymanagerfactoryimpl.createentitymanager(entitymanagerfactoryimpl.java:282) @ dcsmailcheck.mailresend.<init>(mailresend.java:61) @ dcsmailcheck.main.main(main.java:49) caused by: exception [eclipselink-4021] (eclipse persistence services - 2.4.1.v20121003-ad44345): org.eclipse.persistence.exceptions.databaseexception exception description: unable acquire connection driver [net.sourceforge.jtds.jdbc.driver], user [null] , url [null]. verify have set expected driver class , url. check login, persistence.xml or sessions.xml resource. jdbc.driver property should set class compatible database platform @ org.eclipse.persistence.exceptions.databaseexception.unabletoacquireconnectionfromdriverexception(databaseexception.java:376) @ org.eclipse.persistence.sessions.defaultconnector.connect(defaultconnector.java:91) @ org.eclipse.persistence.sessions.datasourcelogin.connecttodatasource(datasourcelogin.java:162) @ org.eclipse.persistence.internal.sessions.databasesessionimpl.loginanddetectdatasource(databasesessionimpl.java:685) @ org.eclipse.persistence.internal.jpa.entitymanagerfactoryprovider.login(entitymanagerfactoryprovider.java:215) @ org.eclipse.persistence.internal.jpa.entitymanagersetupimpl.deploy(entitymanagersetupimpl.java:542) ... 6 more
since code works in folder ~/test, seems systemconfig.getconfig() fails load properties place. make sure have added path properties classpath.
Comments
Post a Comment