java - Glassfish: Invalid resource -


i have ejb module , want deploy on glassfish. configured jdbc pool , resource , ping successful. have error when deploy module. java db call "bank", glassfih write "bank_pm".

persistence.xml

<?xml version="1.0" encoding="utf-8"?> <persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:schemalocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">   <persistence-unit name="clientmanager" transaction-type="jta">     <jta-data-source>jdbc:derby://localhost:1527/bank</jta-data-source>     <exclude-unlisted-classes>false</exclude-unlisted-classes>     <properties>       <property name="javax.persistence.schema-generation.database.action" value="create"/>     </properties>   </persistence-unit> </persistence> enter code here 

glassfish-resources.xml

<?xml version="1.0" encoding="utf-8"?> <!doctype resources public "-//glassfish.org//dtd glassfish application server 3.1 resource definitions//en" "http://glassfish.org/dtds/glassfish-resources_1_5.dtd"> <resources>   <jdbc-connection-pool allow-non-component-callers="false" associate-with-thread="false" connection-creation-retry-attempts="0" connection-creation-retry-interval-in-seconds="10" connection-leak-reclaim="false" connection-leak-timeout-in-seconds="0" connection-validation-method="auto-commit" datasource-classname="org.apache.derby.jdbc.clientdatasource" fail-all-connections="false" idle-timeout-in-seconds="300" is-connection-validation-required="false" is-isolation-level-guaranteed="true" lazy-connection-association="false" lazy-connection-enlistment="false" match-connections="false" max-connection-usage-count="0" max-pool-size="32" max-wait-time-in-millis="60000" name="connectionpool" non-transactional-connections="false" pool-resize-quantity="2" res-type="javax.sql.datasource" statement-timeout-in-seconds="-1" steady-pool-size="8" validate-atmost-once-period-in-seconds="0" wrap-jdbc-objects="false">     <property name="url" value="jdbc:derby://localhost:1527/bank"/>     <property name="servername" value="localhost"/>     <property name="portnumber" value="1527"/>     <property name="databasename" value="bank"/>     <property name="user" value="bank"/>     <property name="password" value="1234"/>   </jdbc-connection-pool> </resources> 

glassfish log

severe:   exception while preparing app : invalid resource : jdbc:derby://localhost:1527/bank__pm com.sun.appserv.connectors.internal.api.connectorruntimeexception: invalid resource : jdbc:derby://localhost:1527/bank__pm     @ org.glassfish.jdbcruntime.service.jdbcdatasource.validateresource(jdbcdatasource.java:81)     @ org.glassfish.jdbcruntime.service.jdbcdatasource.setresourceinfo(jdbcdatasource.java:62)     @ org.glassfish.jdbcruntime.jdbcruntimeextension.lookupdatasourceindas(jdbcruntimeextension.java:136)     @ com.sun.enterprise.connectors.connectorruntime.lookupdatasourceindas(connectorruntime.java:589)     @ com.sun.enterprise.connectors.connectorruntime.lookuppmresource(connectorruntime.java:517)     @ org.glassfish.persistence.common.persistencehelper.lookuppmresource(persistencehelper.java:63)     @ org.glassfish.persistence.jpa.providercontainercontractinfobase.lookupdatasource(providercontainercontractinfobase.java:71)     @ org.glassfish.persistence.jpa.persistenceunitinfoimpl.<init>(persistenceunitinfoimpl.java:108)     @ org.glassfish.persistence.jpa.persistenceunitloader.loadpu(persistenceunitloader.java:142)     @ org.glassfish.persistence.jpa.persistenceunitloader.<init>(persistenceunitloader.java:107)     @ org.glassfish.persistence.jpa.jpadeployer$1.visitpud(jpadeployer.java:223)     @ org.glassfish.persistence.jpa.jpadeployer$persistenceunitdescriptoriterator.iteratepuds(jpadeployer.java:510)     @ org.glassfish.persistence.jpa.jpadeployer.createemfs(jpadeployer.java:230)     @ org.glassfish.persistence.jpa.jpadeployer.prepare(jpadeployer.java:168)     @ com.sun.enterprise.v3.server.applicationlifecycle.preparemodule(applicationlifecycle.java:922)     @ com.sun.enterprise.v3.server.applicationlifecycle.deploy(applicationlifecycle.java:431)     @ com.sun.enterprise.v3.server.applicationlifecycle.deploy(applicationlifecycle.java:219)     @ org.glassfish.deployment.admin.deploycommand.execute(deploycommand.java:491)     @ com.sun.enterprise.v3.admin.commandrunnerimpl$2$1.run(commandrunnerimpl.java:527)     @ com.sun.enterprise.v3.admin.commandrunnerimpl$2$1.run(commandrunnerimpl.java:523)     @ java.security.accesscontroller.doprivileged(native method)     @ javax.security.auth.subject.doas(subject.java:360)     @ com.sun.enterprise.v3.admin.commandrunnerimpl$2.execute(commandrunnerimpl.java:522)     @ com.sun.enterprise.v3.admin.commandrunnerimpl.docommand(commandrunnerimpl.java:546)     @ com.sun.enterprise.v3.admin.commandrunnerimpl.docommand(commandrunnerimpl.java:1423)     @ com.sun.enterprise.v3.admin.commandrunnerimpl.access$1500(commandrunnerimpl.java:108)     @ com.sun.enterprise.v3.admin.commandrunnerimpl$executioncontext.execute(commandrunnerimpl.java:1762)     @ com.sun.enterprise.v3.admin.commandrunnerimpl$executioncontext.execute(commandrunnerimpl.java:1674)     @ com.sun.enterprise.v3.admin.adminadapter.docommand(adminadapter.java:534)     @ com.sun.enterprise.v3.admin.adminadapter.onmissingresource(adminadapter.java:224)     @ org.glassfish.grizzly.http.server.statichttphandler.service(statichttphandler.java:297)     @ com.sun.enterprise.v3.services.impl.containermapper.service(containermapper.java:246)     @ org.glassfish.grizzly.http.server.httphandler.runservice(httphandler.java:191)     @ org.glassfish.grizzly.http.server.httphandler.dohandle(httphandler.java:168)     @ org.glassfish.grizzly.http.server.httpserverfilter.handleread(httpserverfilter.java:189)     @ org.glassfish.grizzly.filterchain.executorresolver$9.execute(executorresolver.java:119)     @ org.glassfish.grizzly.filterchain.defaultfilterchain.executefilter(defaultfilterchain.java:288)     @ org.glassfish.grizzly.filterchain.defaultfilterchain.executechainpart(defaultfilterchain.java:206)     @ org.glassfish.grizzly.filterchain.defaultfilterchain.execute(defaultfilterchain.java:136)     @ org.glassfish.grizzly.filterchain.defaultfilterchain.process(defaultfilterchain.java:114)     @ org.glassfish.grizzly.processorexecutor.execute(processorexecutor.java:77)     @ org.glassfish.grizzly.nio.transport.tcpniotransport.fireioevent(tcpniotransport.java:838)     @ org.glassfish.grizzly.strategies.abstractiostrategy.fireioevent(abstractiostrategy.java:113)     @ org.glassfish.grizzly.strategies.workerthreadiostrategy.run0(workerthreadiostrategy.java:115)     @ org.glassfish.grizzly.strategies.workerthreadiostrategy.access$100(workerthreadiostrategy.java:55)     @ org.glassfish.grizzly.strategies.workerthreadiostrategy$workerthreadrunnable.run(workerthreadiostrategy.java:135)     @ org.glassfish.grizzly.threadpool.abstractthreadpool$worker.dowork(abstractthreadpool.java:564)     @ org.glassfish.grizzly.threadpool.abstractthreadpool$worker.run(abstractthreadpool.java:544)     @ java.lang.thread.run(thread.java:745) 

the issue providing connection url in < jta-data-source > not correct.

here should specify jndi name not connection string, proper way of setting connection url under < properties > tag.

in below solution added name attribute in glassfish-resources.xml under resource tag.

and referred created resource name in persistence.xml under tag

change glassfish-resources.xml below

<?xml version="1.0" encoding="utf-8"?> <!doctype resources public "-//glassfish.org//dtd glassfish application server 3.1 resource definitions//en" "http://glassfish.org/dtds/glassfish-resources_1_5.dtd"> <resources>   <jdbc-connection-pool name="jdbc/bank" allow-non-component-callers="false" associate-with-thread="false" connection-creation-retry-attempts="0" connection-creation-retry-interval-in-seconds="10" connection-leak-reclaim="false" connection-leak-timeout-in-seconds="0" connection-validation-method="auto-commit" datasource-classname="org.apache.derby.jdbc.clientdatasource" fail-all-connections="false" idle-timeout-in-seconds="300" is-connection-validation-required="false" is-isolation-level-guaranteed="true" lazy-connection-association="false" lazy-connection-enlistment="false" match-connections="false" max-connection-usage-count="0" max-pool-size="32" max-wait-time-in-millis="60000" name="connectionpool" non-transactional-connections="false" pool-resize-quantity="2" res-type="javax.sql.datasource" statement-timeout-in-seconds="-1" steady-pool-size="8" validate-atmost-once-period-in-seconds="0" wrap-jdbc-objects="false">     <property name="url" value="jdbc:derby://localhost:1527/bank"/>     <property name="servername" value="localhost"/>     <property name="portnumber" value="1527"/>     <property name="databasename" value="bank"/>     <property name="user" value="bank"/>     <property name="password" value="1234"/>   </jdbc-connection-pool> </resources> 

and change persistence.xml below

<?xml version="1.0" encoding="utf-8"?> <persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:schemalocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">   <persistence-unit name="clientmanager" transaction-type="jta">     <jta-data-source>jdbc/bank</jta-data-source>     <exclude-unlisted-classes>false</exclude-unlisted-classes>     <properties>       <property name="javax.persistence.schema-generation.database.action" value="create"/>     </properties>   </persistence-unit> </persistence> 

Comments

Popular posts from this blog

php - How to add and update images or image url in Volusion using Volusion API -

javascript - jQuery UI Splitter/Resizable for unlimited amount of columns -

javascript - IE9 error '$'is not defined -