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.
>

Reply via email to