but the listener is called after the resource is created *Romain Manni-Bucau* *Twitter: @rmannibucau <https://twitter.com/rmannibucau>* *Blog: **http://rmannibucau.wordpress.com/*<http://rmannibucau.wordpress.com/> *LinkedIn: **http://fr.linkedin.com/in/rmannibucau* *Github: https://github.com/rmannibucau*
2013/7/24 mauro2java2011 <[email protected]> > last , i have create the resouce.xml file: > > <?xml version="1.0" encoding="UTF-8"?> > <resources> > > <Resource id="jdbc/databaseopenshift_managed" type="DataSource"> > JdbcDriver com.mysql.jdbc.Driver > JdbcUrl jdbc:mysql://${MYDBHOST}:3306/${MYDBNAMEDB} > UserName ${MYUSERDB} > Password ${MYDBPASS} > JtaManaged true > </Resource> > <Resource id="jdbc/databaseopenshift_unmanaged" type="DataSource"> > JdbcDriver com.mysql.jdbc.Driver > JdbcUrl jdbc:mysql://${MYDBHOST}:3306/${MYDBNAMEDB} > UserName ${MYUSERDB} > Password ${MYDBPASS} > JtaManaged false > </Resource> > > > </resources> > --------------------------- > > the persistnecce.xml > > <?xml version="1.0" encoding="UTF-8"?> > <persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xsi:schemaLocation="http://java.sun.com/xml/ns/persistence > http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"> > <persistence-unit name="provavariabiliambientePU" transaction-type="JTA"> > > <provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider> > <jta-data-source>jdbc/databaseopenshift_managed</jta-data-source> > > <non-jta-data-source>jdbc/databaseopenshift_unmanaged</non-jta-data-source> > <class>entita.Variabile</class> > <class>entita.Persona</class> > <exclude-unlisted-classes>false</exclude-unlisted-classes> > <properties> > <property name="openjpa.jdbc.SynchronizeMappings" > value="buildSchema(ForeignKeys=true)"/> > </properties> > </persistence-unit> > </persistence> > > -------------------------------------------- > > my ServletContextListener: > > public class SettaggioVariabiliDiSistema implements ServletContextListener > { > > public void contextInitialized(ServletContextEvent sce) { > this.settaggioVariabili(); > > } > > private void settaggioVariabili(){ > String MYUSERDB, MYDBPASS, MYDBHOST, MYDBPORT, MYDBNAMEDB ; > MYDBNAMEDB=System.getenv("OPENSHIFT_APP_NAME"); > MYUSERDB=System.getenv("OPENSHIFT_MYSQL_DB_USERNAME"); > MYDBHOST=System.getenv("OPENSHIFT_MYSQL_DB_HOST"); > MYDBPORT=System.getenv("OPENSHIFT_MYSQL_DB_PORT"); > MYDBPASS=System.getenv("OPENSHIFT_MYSQL_DB_PASSWORD"); > > > System.setProperty("MYDBNAMEDB", MYDBNAMEDB); > System.setProperty("MYUSERDB", MYUSERDB); > System.setProperty("MYDBHOST", MYDBHOST); > System.setProperty("MYDBPORT", MYDBPORT); > System.setProperty("MYDBPASS", MYDBPASS); > > System.out.println("valori settati= \n"); > > System.out.print("MYDBNAMEDB="); > System.out.println(System.getProperty("MYDBNAMEDB")); > > System.out.print("MYUSERDB="); > System.out.println(System.getProperty("MYUSERDB")); > > System.out.print("MYDBPASS="); > System.out.println(System.getProperty("MYDBPASS")); > > System.out.print("MYDBHOST="); > System.out.println(System.getProperty("MYDBHOST")); > > System.out.print("MYDBPORT="); > System.out.println(System.getProperty("MYDBPORT")); > > System.out.println("\n"+"----------------"); > > > } > > public void contextDestroyed(ServletContextEvent sce) { > > } > > > } > > i have configurate d into web.xml the ServeltContectListener. > > But when i try to run the web application , i get the following exception: > > javax.ejb.EJBException: The bean encountered a non-application exception; > nested exception is: org.apache.openjpa.persistence.PersistenceException: > Communications link failure The last packet sent successfully to the server > was 0 milliseconds ago. The driver has not received any packets from the > server. at > > org.apache.openejb.core.ivm.BaseEjbProxyHandler.convertException(BaseEjbProxyHandler.java:363) > at > > org.apache.openejb.core.ivm.BaseEjbProxyHandler.invoke(BaseEjbProxyHandler.java:283) > at > > mauro.ejb.gestori.Gestore$LocalBeanProxy.saveVariabile(mauro/ejb/gestori/Gestore.java) > at srv.TestInserimento.processRequest(TestInserimento.java:42) at > srv.TestInserimento.doGet(TestInserimento.java:88) at > javax.servlet.http.HttpServlet.service(HttpServlet.java:621) at > javax.servlet.http.HttpServlet.service(HttpServlet.java:728) at > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) > at > > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) > at > > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) > at > > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) > at org.apache.tomee.catalina.OpenEJBValve.invoke(OpenEJBValve.java:45) at > > org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) > at > > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) > at > > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) > at > org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936) > at > > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) > at > > org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004) > at > > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589) > at > > org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312) > at > > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) > at > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) > at java.lang.Thread.run(Thread.java:662) Caused by: > org.apache.openjpa.persistence.PersistenceException: Communications link > failure The last packet sent successfully to the server was 0 milliseconds > ago. The driver has not received any packets from the server. at > > org.apache.openjpa.jdbc.sql.DBDictionaryFactory.newDBDictionary(DBDictionaryFactory.java:102) > at > > org.apache.openjpa.jdbc.conf.JDBCConfigurationImpl.getDBDictionaryInstance(JDBCConfigurationImpl.java:603) > at > > org.apache.openjpa.jdbc.meta.MappingRepository.endConfiguration(MappingRepository.java:1510) > at > > org.apache.openjpa.lib.conf.Configurations.configureInstance(Configurations.java:518) > at > > org.apache.openjpa.lib.conf.Configurations.configureInstance(Configurations.java:443) > at > org.apache.openjpa.lib.conf.PluginValue.instantiate(PluginValue.java:104) > at > > org.apache.openjpa.conf.MetaDataRepositoryValue.instantiate(MetaDataRepositoryValue.java:68) > at org.apache.openjpa.lib.conf.ObjectValue.instantiate(ObjectValue.java:83) > at > > org.apache.openjpa.conf.OpenJPAConfigurationImpl.newMetaDataRepositoryInstance(OpenJPAConfigurationImpl.java:968) > at > > org.apache.openjpa.conf.OpenJPAConfigurationImpl.getMetaDataRepositoryInstance(OpenJPAConfigurationImpl.java:959) > at > > org.apache.openjpa.kernel.AbstractBrokerFactory.makeReadOnly(AbstractBrokerFactory.java:638) > at > > org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:203) > at > > org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:156) > at > > org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:227) > at > > org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:60) > at > > org.apache.openejb.assembler.classic.ReloadableEntityManagerFactory.createEntityManager(ReloadableEntityManagerFactory.java:138) > at > > org.apache.openejb.persistence.JtaEntityManagerRegistry.getEntityManager(JtaEntityManagerRegistry.java:115) > at > > org.apache.openejb.persistence.JtaEntityManager.getEntityManager(JtaEntityManager.java:80) > at > > org.apache.openejb.persistence.JtaEntityManager.persist(JtaEntityManager.java:126) > at mauro.ejb.gestori.Gestore.saveVariabile(Gestore.java:27) 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.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:181) > at > > org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:163) > at org.apache.openejb.cdi.CdiInterceptor.invoke(CdiInterceptor.java:128) at > org.apache.openejb.cdi.CdiInterceptor.access$000(CdiInterceptor.java:43) at > org.apache.openejb.cdi.CdiInterceptor$1.call(CdiInterceptor.java:64) at > org.apache.openejb.cdi.CdiInterceptor.aroundInvoke(CdiInterceptor.java:70) > 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.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:181) > at > > org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:163) > at > > org.apache.openejb.monitoring.StatsInterceptor.record(StatsInterceptor.java:176) > at > > org.apache.openejb.monitoring.StatsInterceptor.invoke(StatsInterceptor.java:95) > 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.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:181) > at > > org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:163) > at > > org.apache.openejb.core.interceptor.InterceptorStack.invoke(InterceptorStack.java:138) > at > > org.apache.openejb.core.stateless.StatelessContainer._invoke(StatelessContainer.java:237) > at > > org.apache.openejb.core.stateless.StatelessContainer.invoke(StatelessContainer.java:189) > at > > org.apache.openejb.core.ivm.EjbObjectProxyHandler.synchronizedBusinessMethod(EjbObjectProxyHandler.java:253) > at > > org.apache.openejb.core.ivm.EjbObjectProxyHandler.businessMethod(EjbObjectProxyHandler.java:248) > at > > org.apache.openejb.core.ivm.EjbObjectProxyHandler._invoke(EjbObjectProxyHandler.java:92) > at > > org.apache.openejb.core.ivm.BaseEjbProxyHandler.invoke(BaseEjbProxyHandler.java:279) > ... 22 more Caused by: > com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications > link > failure The last packet sent successfully to the server was 0 milliseconds > ago. The driver has not received any packets from the server. at > sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at > > sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) > at > > sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) > at java.lang.reflect.Constructor.newInstance(Constructor.java:513) at > com.mysql.jdbc.Util.handleNewInstance(Util.java:411) at > com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1116) > at > com.mysql.jdbc.MysqlIO.(MysqlIO.java:344) at > com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2332) at > com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2369) > at > com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2153) at > com.mysql.jdbc.ConnectionImpl.(ConnectionImpl.java:792) at > com.mysql.jdbc.JDBC4Connection.(JDBC4Connection.java:47) at > sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at > > sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) > at > > sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) > at java.lang.reflect.Constructor.newInstance(Constructor.java:513) at > com.mysql.jdbc.Util.handleNewInstance(Util.java:411) at > com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:381) at > com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:305) > at > > org.apache.tomcat.jdbc.pool.PooledConnection.connectUsingDriver(PooledConnection.java:278) > at > > org.apache.tomcat.jdbc.pool.PooledConnection.connect(PooledConnection.java:182) > at > > org.apache.tomcat.jdbc.pool.ConnectionPool.createConnection(ConnectionPool.java:702) > at > > org.apache.tomcat.jdbc.pool.ConnectionPool.borrowConnection(ConnectionPool.java:634) > at > > org.apache.tomcat.jdbc.pool.ConnectionPool.getConnection(ConnectionPool.java:188) > at > > org.apache.tomcat.jdbc.pool.DataSourceProxy.getConnection(DataSourceProxy.java:128) > at > > org.apache.tomee.jdbc.TomEEDataSourceCreator$TomEEDataSource.getConnection(TomEEDataSourceCreator.java:251) > at > > org.apache.openejb.resource.jdbc.managed.local.ManagedDataSource.getConnection(ManagedDataSource.java:43) > at > > org.apache.openjpa.lib.jdbc.DelegatingDataSource.getConnection(DelegatingDataSource.java:110) > at > > org.apache.openjpa.lib.jdbc.DecoratingDataSource.getConnection(DecoratingDataSource.java:87) > at > > org.apache.openjpa.jdbc.sql.DBDictionaryFactory.newDBDictionary(DBDictionaryFactory.java:91) > ... 72 more Caused by: java.net.UnknownHostException: ${MYDBHOST} at > java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method) at > java.net.InetAddress$1.lookupAllHostAddr(InetAddress.java:850) at > java.net.InetAddress.getAddressFromNameService(InetAddress.java:1201) at > java.net.InetAddress.getAllByName0(InetAddress.java:1154) at > java.net.InetAddress.getAllByName(InetAddress.java:1084) at > java.net.InetAddress.getAllByName(InetAddress.java:1020) at > > com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:247) > at com.mysql.jdbc.MysqlIO.(MysqlIO.java:294) ... 95 more > > please , i not understand were it is the problem. > > but the listener it work ... > > > > > -- > View this message in context: > http://openejb.979440.n4.nabble.com/Re-i-have-tried-but-not-work-tp4664234p4664332.html > Sent from the OpenEJB User mailing list archive at Nabble.com. >
