i guess my question really is... since I stop derby before main & fallback datasources are closed, is it likely that this might interrupt data integrity? is it possible that I will lose data since my app stops derby prior to tomee/openejb failover stops datasources...at tomee shutdown/stop?
On Sun, Nov 3, 2013 at 10:18 AM, Howard W. Smith, Jr. < smithh032...@gmail.com> wrote: > FYI, I just stopped my local tomee, and recognized that my @Application > @PreDestroy has my code that stops Apache Derby prior to main and fallback > datasources are closed. > > is this okay? > > Nov 03, 2013 10:12:48 AM org.apache.catalina.core.StandardServer await > INFO: A valid shutdown command was received via the shutdown port. > Stopping the Server instance. > Nov 03, 2013 10:12:48 AM org.apache.coyote.AbstractProtocol pause > INFO: Pausing ProtocolHandler ["http-nio-8080"] > Nov 03, 2013 10:12:48 AM org.apache.coyote.AbstractProtocol pause > INFO: Pausing ProtocolHandler ["ajp-bio-8009"] > Nov 03, 2013 10:12:48 AM org.apache.catalina.core.StandardService > stopInternal > INFO: Stopping service Catalina > Nov 03, 2013 10:12:48 AM pf.LoginFilter destroy > INFO: ... > Nov 03, 2013 10:12:48 AM org.apache.openejb.assembler.classic.Assembler > destroyApplication > INFO: Undeploying app: C:\apache-tomee-plus-1.6.0-SNAPSHOT\webapps\mcmsweb > Nov 03, 2013 10:12:48 AM pf.ApplicationScopeBean destroy > INFO: BEGIN > Nov 03, 2013 10:12:48 AM utils.database.DerbyUtil shutdown > INFO: DerbyUtil.java: shutdown() invoked > Nov 03, 2013 10:12:48 AM utils.database.DerbyUtil loadDriver > INFO: DerbyUtil.java: loadDriver(): Loaded driver > (org.apache.derby.jdbc.EmbeddedDriver) successfully > Nov 03, 2013 10:12:48 AM utils.database.DerbyUtil shutdown > INFO: DerbyUtil.java: shutdown(): Derby shut down normally > Nov 03, 2013 10:12:48 AM pf.ApplicationScopeBean destroy > INFO: gCalUtil.shutdown() completed > Nov 03, 2013 10:12:48 AM pf.ApplicationScopeBean destroy > INFO: jodConverter.shutdown() completed > Nov 03, 2013 10:12:48 AM mdb.ApplicationMessageBean shutdown > INFO: ApplicationMessageBean.shutdown() BEGIN > Nov 03, 2013 10:12:48 AM mdb.ApplicationMessageBean shutdown > INFO: ApplicationMessageBean.shutdown() END > Nov 03, 2013 10:12:48 AM pf.ApplicationScopeBean destroy > INFO: applicationMessageBean.shutdown() completed > Nov 03, 2013 10:12:48 AM pf.ThreadLocalImmolater immolate > INFO: immolated 305 values in ThreadLocals > Nov 03, 2013 10:12:48 AM pf.ApplicationScopeBean destroy > INFO: END > Nov 03, 2013 10:12:48 AM org.apache.activemq.ra.ActiveMQEndpointWorker stop > INFO: Stopping > Nov 03, 2013 10:12:48 AM org.apache.activemq.ra.ActiveMQEndpointWorker stop > INFO: Stopping > [EL Info]: 2013-11-03 > 10:12:48.682--ServerSession(1206174612)--file:/C:/apache-tomee-plus-1.6.0-SNAPSHOT/webapps/mcmsweb/WEB-INF/classes/_mcmsPU > logout successful > Nov 03, 2013 10:12:49 AM org.apache.catalina.loader.WebappClassLoader > clearReferencesThreads > SEVERE: The web application [/mcmsweb] appears to have started a thread > named [PoolIdleReleaseTimer] but has failed to stop it. This is very likely > to create a memory leak. > Nov 03, 2013 10:12:49 AM org.apache.catalina.loader.WebappClassLoader > clearReferencesThreads > SEVERE: The web application [/mcmsweb] appears to have started a thread > named [ActiveMQ VMTransport: vm://localhost#5-5] but has failed to stop it. > This is very likely to create a memory leak. > Nov 03, 2013 10:12:49 AM org.apache.catalina.loader.WebappClassLoader > clearReferencesThreads > SEVERE: The web application [/mcmsweb] appears to have started a thread > named [ActiveMQ VMTransport: vm://localhost#5-6] but has failed to stop it. > This is very likely to create a memory leak. > Nov 03, 2013 10:12:49 AM org.apache.catalina.loader.WebappClassLoader > clearReferencesThreads > SEVERE: The web application [/mcmsweb] appears to have started a thread > named [ActiveMQ VMTransport: vm://localhost#4-4] but has failed to stop it. > This is very likely to create a memory leak. > Nov 03, 2013 10:12:57 AM org.apache.coyote.AbstractProtocol stop > INFO: Stopping ProtocolHandler ["http-nio-8080"] > Nov 03, 2013 10:12:57 AM org.apache.coyote.AbstractProtocol stop > INFO: Stopping ProtocolHandler ["ajp-bio-8009"] > Nov 03, 2013 10:12:57 AM org.apache.openejb.server.SimpleServiceManager > stop > INFO: Stopping server services > Nov 03, 2013 10:12:57 AM org.quartz.core.QuartzScheduler shutdown > INFO: Scheduler OpenEJB-TimerService-Scheduler_$_OpenEJB shutting down. > Nov 03, 2013 10:12:57 AM org.quartz.core.QuartzScheduler standby > INFO: Scheduler OpenEJB-TimerService-Scheduler_$_OpenEJB paused. > Nov 03, 2013 10:12:57 AM org.quartz.core.QuartzScheduler unregisterJMX > INFO: Scheduler unregistered from name > 'quartz:type=QuartzScheduler,name=OpenEJB-TimerService-Scheduler,instance=OpenEJB' > in the local MBeanServer. > Nov 03, 2013 10:12:57 AM org.quartz.core.QuartzScheduler shutdown > INFO: Scheduler OpenEJB-TimerService-Scheduler_$_OpenEJB shutdown complete. > Nov 03, 2013 10:12:57 AM org.apache.openejb.assembler.classic.Assembler > destroyApplication > INFO: Undeploying app: openejb > Nov 03, 2013 10:12:57 AM org.apache.openejb.assembler.classic.Assembler > destroyResource > INFO: Closing DataSource: main > Nov 03, 2013 10:12:57 AM org.apache.openejb.assembler.classic.Assembler > destroyResource > INFO: Closing DataSource: fallback > Nov 03, 2013 10:12:57 AM org.apache.openejb.assembler.classic.Assembler > destroyResource > INFO: Stopping ResourceAdapter: Default JMS Resource Adapter > Nov 03, 2013 10:12:57 AM > org.apache.openejb.resource.activemq.ActiveMQResourceAdapter stop > INFO: Stopping ActiveMQ > Nov 03, 2013 10:12:58 AM > org.apache.openejb.resource.activemq.ActiveMQResourceAdapter stopImpl > INFO: Stopped ActiveMQ broker > Nov 03, 2013 10:12:58 AM org.apache.openejb.assembler.classic.Assembler > destroyResource > INFO: Closing DataSource: Default Unmanaged JDBC Database > Nov 03, 2013 10:12:58 AM org.apache.coyote.AbstractProtocol destroy > INFO: Destroying ProtocolHandler ["http-nio-8080"] > Nov 03, 2013 10:12:58 AM org.apache.coyote.AbstractProtocol destroy > INFO: Destroying ProtocolHandler ["ajp-bio-8009"] > > > > On Sun, Nov 3, 2013 at 9:55 AM, Howard W. Smith, Jr. < > smithh032...@gmail.com> wrote: > >> okay, i set it up as your post demonstrated, I tested already, and I see >> no issues. it's time to test this in production. :) >> >> thanks romain! like i said in the other thread, I wish I knew about this >> earlier. >> >> >> >> On Sun, Nov 3, 2013 at 9:16 AM, Howard W. Smith, Jr. < >> smithh032...@gmail.com> wrote: >> >>> So, the following replaces service-jar.xml (as per your post)? >>> >>> <Resource id="jdbc/ds" type="DataSource" provider="RoutedDataSource"> >>> router = failover-router >>> </Resource> >>> >>> and if I wanted to use the 'strategy' parameter, I would add to Resource >>> as demonstrated below? >>> >>> <Resource id="jdbc/ds" type="DataSource" provider="RoutedDataSource"> >>> router = failover-router >>> strategy = random >>> </Resource> >>> >>> >>> >>> >>> On Sun, Nov 3, 2013 at 8:58 AM, Romain Manni-Bucau < >>> rmannibu...@gmail.com> wrote: >>> >>>> Hi >>>> >>>> Failover is native but to customiee the algo you can code anything you >>>> want >>>> >>>> Tomee.xml is openejb.xml >>>> >>>> Service-jar.xml is today useless (see my post) >>>> Le 3 nov. 2013 14:55, "Howard W. Smith, Jr." <smithh032...@gmail.com> a >>>> écrit : >>>> >>>> > First of all, thanks Romain for recommending the following, and for >>>> that I >>>> > will gladly start a new thread. :) >>>> > >>>> > TomEE/OpenEJB and failover of datasources[1] >>>> > >>>> > which references >>>> > >>>> > [OpenEJB] Dynamic Datasource[2] >>>> > >>>> > but I found the following TomEE example: >>>> > >>>> > [TomEE] Dynamic Datasource Routing[3] >>>> > >>>> > So, before I begin, my questions are as follows: >>>> > >>>> > 1. I recognized that failover[1] says that the idea is to 'reuse' >>>> dynamic >>>> > datasource. Does this mean that we should code openejb[2] or tomee[3] >>>> > dynamic datasource, first, and then reference accordingly via >>>> failover[1]? >>>> > >>>> > 2. or failover[1] requires no coding on our part? only developer >>>> needs to >>>> > setup the failover 'config'? >>>> > >>>> > 3. also, tomee[3] dynamic datasource routing recommends openejb.xml >>>> > (instead of tomee.xml). can openejb.xml cofiguration be placed in >>>> > tomee.xml, too, or not? >>>> > >>>> > 4. okay, never mind, I was abouto ask for some clarification about >>>> > META-INF/org.router/service-jar.xml, but I 'found' service-jar.xml on >>>> > trunk[4]. :) >>>> > >>>> > >>>> > >>>> > [1] >>>> > >>>> > >>>> http://rmannibucau.wordpress.com/2013/04/26/tomeeopenejb-and-failover-of-datasources/ >>>> > >>>> > [2] http://tomee.apache.org/dynamic-datasource.html >>>> > >>>> > [3] >>>> > >>>> > >>>> http://tomee.apache.org/examples-trunk/dynamic-datasource-routing/README.html >>>> > >>>> > [4] >>>> > >>>> > >>>> http://svn.apache.org/repos/asf/tomee/tomee/trunk/examples/dynamic-datasource-routing/src/main/resources/META-INF/org.router/service-jar.xml >>>> > >>>> >>> >>> >> >