Why would anyone rely on a particular resource being available at startup? Other than the container, every external resource is liable to failure at some point. We build applications to cover that contingency by issuing error while the resource is not available, then performing work while they are available.
Reading around it seems this is far more complicated than it perhaps ought to be, with autoreconnect having serious implications in a transactional environment. That said, our JPA use is current read-only. I'm minded to continue this problem on an openjpa mailing list and see if I can narrow down precisely what we want to do. Thanks for your time & help regardless, always welcomed. James On 2 July 2013 14:08, Romain Manni-Bucau <[email protected]> wrote: > wait, here you speak about startup, if you can't rely on it even at startup > you'll have to configure explicitely your jpa provider not not need it and > your pool to automatically reconnect when needed. that's the main > constraints. > > *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/2 James Green <[email protected]> > > > A database is merely a resource - same as a message queue or a file. In > > technology we never rely on them so we have to test the recovery of our > > software instead. So I am here :) > > > > > > On 2 July 2013 12:48, Romain Manni-Bucau <[email protected]> wrote: > > > > > no, this is another error, not sure why ATM but it should be an easy > one. > > > If that's because the database was not here you'll need to ensure the > > > datasource is here before using the entity manager for the first time > or > > to > > > list classes manually. > > > > > > that said to be honest if you *can't* rely on your database at all you > > > should just use something else > > > > > > *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/2 James Green <[email protected]> > > > > > > > That will also fix the original error - that the list of mapped > classes > > > is > > > > empty? Copy of the error again: > > > > > > > > Caused by: <openjpa-2.2.0-r422266:1244990 nonfatal user error> > > > > org.apache.openjpa.persistence.ArgumentException: An error occurred > > while > > > > parsing the query filter "SELECT a FROM Account a". Error message: > The > > > name > > > > "Account" is not a recognized entity or identifier. Known entity > names: > > > [] > > > > > > > > > > > > > > > > > > > > On 2 July 2013 12:31, Romain Manni-Bucau <[email protected]> > > wrote: > > > > > > > > > just add in your persistence unit the needed property (sample for > > > > > mysql: <property > > > > > name="openjpa.jdbc.DBDictionary" value="mysql"/> ) > > > > > > > > > > *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/2 James Green <[email protected]> > > > > > > > > > > > The documentation link you supplied: I'm not sure what I am > looking > > > for > > > > > in > > > > > > it. That's what I meant to say. > > > > > > > > > > > > To cut this down is there a demonstration project where this is > > > already > > > > > > correctly configured? May be simpler than explaining the changes > to > > > me > > > > :) > > > > > > > > > > > > > > > > > > On 2 July 2013 12:14, Romain Manni-Bucau <[email protected]> > > > > wrote: > > > > > > > > > > > > > didnt get the first sentence > > > > > > > > > > > > > > about the "make it worse" it is what i explained in my previous > > > > answer: > > > > > > if > > > > > > > you start without a db and openjpa uses automatically the wrong > > > > > > dictionnary > > > > > > > then even if the db is back and the pool well configured, the > jpa > > > > layer > > > > > > > will generate wrong SQL so it will not work, so your app is > > broken > > > > > > whatever > > > > > > > the db state is. > > > > > > > > > > > > > > *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/2 James Green <[email protected]> > > > > > > > > > > > > > > > Am I looking for something letting me list the classes I want > > > > mapped? > > > > > > The > > > > > > > > error I see shows an empty list, hence this particular > > question. > > > > > > > > > > > > > > > > You say it doesn't solve our issue and can actually make it > > > worse? > > > > > Care > > > > > > > to > > > > > > > > elaborate? > > > > > > > > > > > > > > > > > > > > > > > > On 2 July 2013 09:17, Romain Manni-Bucau < > > [email protected]> > > > > > > wrote: > > > > > > > > > > > > > > > > > the dict doc is here > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > http://openjpa.apache.org/builds/2.2.2/apache-openjpa/docs/ref_guide_dbsetup_dbsupport.html > > > > > > > > > > > > > > > > > > it is important to set it if the database can be down at > > > startup > > > > > > > > otherwise > > > > > > > > > you can end up with a wrong dict (generally the generic > one) > > > and > > > > > then > > > > > > > > when > > > > > > > > > the database is up again SQL stuff will not work > > > > > > > > > > > > > > > > > > it doesn't solve your issue but it can make it worse > > > > > > > > > > > > > > > > > > *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/2 James Green <[email protected]> > > > > > > > > > > > > > > > > > > > That's exactly what I want. All I have are EJBs with > entity > > > > > > managers > > > > > > > > > > injected via @PersistenceContext (exactly as we are > taught > > in > > > > the > > > > > > > > > > "Beginning Java EE 6 Platform with Glassfish 3" book > which > > is > > > > how > > > > > > > this > > > > > > > > > > application began life. > > > > > > > > > > > > > > > > > > > > So what's the difference I wonder? Romain talks about > > adding > > > a > > > > > > > > dictionary > > > > > > > > > > but I didn't spot anything spectacularly obvious in a > > browse > > > of > > > > > the > > > > > > > > > OpenJPA > > > > > > > > > > user guide yesterday (indeed on the subject of injection > it > > > > told > > > > > me > > > > > > > to > > > > > > > > > > refer to my application server documentation...). > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On 1 July 2013 18:05, José Luis Cetina < > > [email protected] > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > I did this test: > > > > > > > > > > > > > > > > > > > > > > 1. Stop TomEE > > > > > > > > > > > 2. Shutdown my database server > > > > > > > > > > > 3. Start TomEE > > > > > > > > > > > 4. Try to access to my app, i could access but when i > hit > > > my > > > > > > login > > > > > > > > > button > > > > > > > > > > > for example then i get this error: > > > > > > > > > > > > > > > > > > > > > com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: > > > > > > > > > > > Could not create connection to database server. > Attempted > > > > > > > reconnect 3 > > > > > > > > > > > times. Giving up. > > > > > > > > > > > 5. Start up my database server > > > > > > > > > > > 6. Wait for my database to be ready, i refresh the page > > > then > > > > > hit > > > > > > > > again > > > > > > > > > at > > > > > > > > > > > the login button, then my app run without problem (in > > this > > > > > point > > > > > > i > > > > > > > > DONT > > > > > > > > > > > stop/start TomEE again). > > > > > > > > > > > > > > > > > > > > > > Is this the behavior that you need/want it?? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > *Remeber that i have tomee and database in separate > > > server's > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 2013/7/1 Howard W. Smith, Jr. <[email protected]> > > > > > > > > > > > > > > > > > > > > > > > Will you be trying the magic that Romain recommended? > > > > > > > > > > > > On Jul 1, 2013 10:34 AM, "James Green" < > > > > > > > [email protected]> > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > I was asking about cold boot, specifically. It is > > when > > > > the > > > > > > > > > > application > > > > > > > > > > > > > server begins that the JPA implementation performs > > the > > > > > Entity > > > > > > > > > > mapping, > > > > > > > > > > > so > > > > > > > > > > > > > if the database is not available presumably it > > remains > > > > dead > > > > > > > until > > > > > > > > > the > > > > > > > > > > > > > application server itself is restarted? > > > > > > > > > > > > > > > > > > > > > > > > > > Unless you already have the magic installed that > > Romain > > > > > > refers > > > > > > > > to. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On 1 July 2013 15:24, José Luis Cetina < > > > > > [email protected] > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > My entire app use database and of course the app > > > doesnt > > > > > > work > > > > > > > if > > > > > > > > > the > > > > > > > > > > > > > > database is unavailable, but when the database > > server > > > > is > > > > > > > > > available > > > > > > > > > > > > again > > > > > > > > > > > > > > the webapp can use the database again without > > > > restarting > > > > > > > TomEE. > > > > > > > > > > > > > > > > > > > > > > > > > > > > I dont know if i response your question. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 2013/7/1 James Green <[email protected]> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Are you saying your application starts from > cold > > > > > without > > > > > > > the > > > > > > > > > > > > database, > > > > > > > > > > > > > > the > > > > > > > > > > > > > > > operates fine without intervention once the > > > database > > > > > > > becomes > > > > > > > > > > > > available? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On 1 July 2013 14:26, José Luis Cetina < > > > > > > > [email protected] > > > > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I have also differents server, 1 one database > > > and 2 > > > > > for > > > > > > > > TomEE > > > > > > > > > > > > (using > > > > > > > > > > > > > > > > memcached + cluster) and with > > autoReconnect=true > > > i > > > > > dont > > > > > > > > have > > > > > > > > > > any > > > > > > > > > > > > > issue > > > > > > > > > > > > > > > when > > > > > > > > > > > > > > > > the database server reboot, i set this > > attribute > > > > > > > > > > (autoReconnect) > > > > > > > > > > > > > after > > > > > > > > > > > > > > i > > > > > > > > > > > > > > > > experiment your same problems, when the > > database > > > > > server > > > > > > > > > > rebooted > > > > > > > > > > > my > > > > > > > > > > > > > > apps > > > > > > > > > > > > > > > > cant connect anymore to the database server, > i > > > had > > > > to > > > > > > > stop > > > > > > > > > and > > > > > > > > > > > > start > > > > > > > > > > > > > > > tomee > > > > > > > > > > > > > > > > again for work. But then, i add that option > and > > > > now i > > > > > > > work > > > > > > > > > with > > > > > > > > > > > any > > > > > > > > > > > > > > > > problem. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Here is a example of my Resource: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <Resource id="ANY_NAME" type="DataSource"> > > > > > > > > > > > > > > > > JdbcDriver com.mysql.jdbc.Driver > > > > > > > > > > > > > > > > JdbcUrl > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > jdbc:mysql://any_ip:3306/any_database?zeroDateTimeBehavior=convertToNull&rewriteBatchedStatements=true&autoReconnect=true > > > > > > > > > > > > > > > > UserName any_user > > > > > > > > > > > > > > > > Password any_password > > > > > > > > > > > > > > > > JtaManaged true > > > > > > > > > > > > > > > > InitialSize=3 > > > > > > > > > > > > > > > > MaxActive=100 > > > > > > > > > > > > > > > > ValidationQuery=SELECT 1 > > > > > > > > > > > > > > > > TestOnBorrow=true > > > > > > > > > > > > > > > > </Resource> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 2013/7/1 James Green < > [email protected] > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > This now sounds substantially more complex > > than > > > > my > > > > > > > design > > > > > > > > > > > (which > > > > > > > > > > > > > uses > > > > > > > > > > > > > > > > > @PersistenceContext(unitName="accounts")) > > > caters > > > > > for. > > > > > > > Is > > > > > > > > > > there > > > > > > > > > > > an > > > > > > > > > > > > > > > example > > > > > > > > > > > > > > > > > of what you mean somewhere so I can scope > the > > > > work > > > > > > out? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Thanks > > > > > > > > > > > > > > > > > James > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On 1 July 2013 12:44, Romain Manni-Bucau < > > > > > > > > > > > [email protected]> > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hi > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > it depends your config and that's > probably > > > more > > > > > an > > > > > > > > > openjpa > > > > > > > > > > > > > question > > > > > > > > > > > > > > > but > > > > > > > > > > > > > > > > > > basically you'll need to provide the > > > > dictionnary > > > > > to > > > > > > > use > > > > > > > > > > since > > > > > > > > > > > > > > openjpa > > > > > > > > > > > > > > > > > will > > > > > > > > > > > > > > > > > > not be able to read database metadata (at > > > > least). > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > *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/1 James Green < > > > [email protected] > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I've suppressed the RuntimeExceptions > > > > > encountered > > > > > > > as > > > > > > > > > EJBs > > > > > > > > > > > > fire > > > > > > > > > > > > > > and > > > > > > > > > > > > > > > > > access > > > > > > > > > > > > > > > > > > > JPA, however I have a new problem now: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Caused by: > <openjpa-2.2.0-r422266:1244990 > > > > > > nonfatal > > > > > > > > user > > > > > > > > > > > > error> > > > > > > > > > > > > > > > > > > > > > > > > org.apache.openjpa.persistence.ArgumentException: > > > > > > > An > > > > > > > > > > error > > > > > > > > > > > > > > occurred > > > > > > > > > > > > > > > > > while > > > > > > > > > > > > > > > > > > > parsing the query filter "SELECT a FROM > > > > Account > > > > > > a". > > > > > > > > > Error > > > > > > > > > > > > > > message: > > > > > > > > > > > > > > > > The > > > > > > > > > > > > > > > > > > name > > > > > > > > > > > > > > > > > > > "Account" is not a recognized entity or > > > > > > identifier. > > > > > > > > > Known > > > > > > > > > > > > > entity > > > > > > > > > > > > > > > > names: > > > > > > > > > > > > > > > > > > [] > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > It seems the JPA component was unable > to > > > map > > > > my > > > > > > > > @Entity > > > > > > > > > > > > classes > > > > > > > > > > > > > > > > because > > > > > > > > > > > > > > > > > > the > > > > > > > > > > > > > > > > > > > connection did not exist at startup. > What > > > do > > > > I > > > > > > need > > > > > > > > to > > > > > > > > > do > > > > > > > > > > > to > > > > > > > > > > > > > work > > > > > > > > > > > > > > > > > around > > > > > > > > > > > > > > > > > > > this? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On 1 July 2013 12:07, Romain > Manni-Bucau > > < > > > > > > > > > > > > > [email protected]> > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > yep > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > basically get injected the > > timerservice ( > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > http://docs.oracle.com/javaee/6/api/javax/ejb/TimerService.html > > > > > > > > > > > > > > > ), > > > > > > > > > > > > > > > > in > > > > > > > > > > > > > > > > > > > your > > > > > > > > > > > > > > > > > > > > init method you try to get your data, > > if > > > > not > > > > > > > > trigger > > > > > > > > > a > > > > > > > > > > > > later > > > > > > > > > > > > > > > > > > > > invocation ( > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > http://docs.oracle.com/javaee/6/api/javax/ejb/TimerService.html#createSingleActionTimer(java.util.Date > > > > > > > > > > > > > > > > > > > > , > > > > > > > > > > > > > > > > > > > > javax.ejb.TimerConfig)). While it > fails > > > > > trigger > > > > > > > > > another > > > > > > > > > > > one > > > > > > > > > > > > > > when > > > > > > > > > > > > > > > > > > invoked. > > > > > > > > > > > > > > > > > > > > When it succeeds you are done. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > *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/1 James Green < > > > > > [email protected] > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > In our case we have two EJBs, both > > > > > @Singleton > > > > > > > and > > > > > > > > > > > > @Startup, > > > > > > > > > > > > > > one > > > > > > > > > > > > > > > > > > depends > > > > > > > > > > > > > > > > > > > > on > > > > > > > > > > > > > > > > > > > > > the other. One is a cache façade > and > > > the > > > > > > other > > > > > > > > > loads > > > > > > > > > > > data > > > > > > > > > > > > > via > > > > > > > > > > > > > > > JPA > > > > > > > > > > > > > > > > > and > > > > > > > > > > > > > > > > > > > > feeds > > > > > > > > > > > > > > > > > > > > > it into the cache. An external > > schedule > > > > > > fires a > > > > > > > > > > servlet > > > > > > > > > > > > > that > > > > > > > > > > > > > > > > > reloads > > > > > > > > > > > > > > > > > > > the > > > > > > > > > > > > > > > > > > > > > cache from the database. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > What's happening is that without > > MySQL > > > we > > > > > see > > > > > > > EJB > > > > > > > > > > > > > exceptions > > > > > > > > > > > > > > > that > > > > > > > > > > > > > > > > > > they > > > > > > > > > > > > > > > > > > > > > cannot be created and thus we are > > dead. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I've just tried adding > > > autoReconnect=true > > > > > > > inside > > > > > > > > a > > > > > > > > > > > > > <Resource> > > > > > > > > > > > > > > > but > > > > > > > > > > > > > > > > > > that > > > > > > > > > > > > > > > > > > > > made > > > > > > > > > > > > > > > > > > > > > no difference. I also tried adding > > > > > > > > > > ,autoReconnect=true > > > > > > > > > > > to > > > > > > > > > > > > > > > > > > > > > ConnectionProperties and > > > > > > > > > ConnectionFactoryProperties > > > > > > > > > > > > > without > > > > > > > > > > > > > > > any > > > > > > > > > > > > > > > > > > change > > > > > > > > > > > > > > > > > > > > but > > > > > > > > > > > > > > > > > > > > > I'm not convinced that would have > > fixed > > > > the > > > > > > > > problem > > > > > > > > > > > here. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Is it instead the case that within > > the > > > > EJB > > > > > I > > > > > > > > should > > > > > > > > > > be > > > > > > > > > > > > > > trapping > > > > > > > > > > > > > > > > > > > > > connectivity problems such as > > > > > > > > PersistenceException > > > > > > > > > > and > > > > > > > > > > > > > > allowing > > > > > > > > > > > > > > > > the > > > > > > > > > > > > > > > > > > > > > containing to gracefully start up > and > > > > > > naturally > > > > > > > > > keep > > > > > > > > > > > > trying > > > > > > > > > > > > > > > > anyway? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > James > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On 28 June 2013 17:10, José Luis > > > Cetina < > > > > > > > > > > > > > > [email protected]> > > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I had a similar problem and what > i > > > did > > > > > was > > > > > > > set > > > > > > > > > the > > > > > > > > > > > > > > > > autoReconnect > > > > > > > > > > > > > > > > > > > > > attribute > > > > > > > > > > > > > > > > > > > > > > to true en my tomee.xml > datasource. > > > > > > > > > > > > > > > > > > > > > > What do you mean with retry until > > the > > > > > > > > connection > > > > > > > > > > > > springs > > > > > > > > > > > > > to > > > > > > > > > > > > > > > > life? > > > > > > > > > > > > > > > > > > do > > > > > > > > > > > > > > > > > > > > you > > > > > > > > > > > > > > > > > > > > > > have some schedules or jobs > running > > > and > > > > > > want > > > > > > > to > > > > > > > > > > retry > > > > > > > > > > > > > again > > > > > > > > > > > > > > > > when > > > > > > > > > > > > > > > > > > the > > > > > > > > > > > > > > > > > > > > > > connection is available again? or > > > just > > > > > want > > > > > > > > when > > > > > > > > > > > > somebody > > > > > > > > > > > > > > > click > > > > > > > > > > > > > > > > > any > > > > > > > > > > > > > > > > > > > > > button > > > > > > > > > > > > > > > > > > > > > > the app can connect again (this > was > > > my > > > > > > > case)?? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 2013/6/28 Romain Manni-Bucau < > > > > > > > > > > [email protected]> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > With an ejb timer? > > > > > > > > > > > > > > > > > > > > > > > Le 28 juin 2013 17:46, "James > > > Green" > > > > < > > > > > > > > > > > > > > > > [email protected] > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > a > > > > > > > > > > > > > > > > > > > > > écrit > > > > > > > > > > > > > > > > > > > > > > : > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hopefully a quick one. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On boot our application > > attempts > > > to > > > > > > read > > > > > > > > data > > > > > > > > > > > > > through a > > > > > > > > > > > > > > > JPA > > > > > > > > > > > > > > > > > > > > > > > EntityManager. > > > > > > > > > > > > > > > > > > > > > > > > If the database connection > > fails > > > at > > > > > > this > > > > > > > > > point > > > > > > > > > > > the > > > > > > > > > > > > > > entire > > > > > > > > > > > > > > > > > > > > application > > > > > > > > > > > > > > > > > > > > > > is > > > > > > > > > > > > > > > > > > > > > > > > effectively dead. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Is there a way to essentially > > ask > > > > the > > > > > > > > > database > > > > > > > > > > > > layer > > > > > > > > > > > > > to > > > > > > > > > > > > > > > > retry > > > > > > > > > > > > > > > > > > > until > > > > > > > > > > > > > > > > > > > > > the > > > > > > > > > > > > > > > > > > > > > > > > connection springs to life? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Thanks, > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > James > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------- > > > > > > > > > > > > > > > > > > > > > > *SCJA. José Luis Cetina* > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------- > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------- > > > > > > > > > > > > > > > > *SCJA. José Luis Cetina* > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------- > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------- > > > > > > > > > > > > > > *SCJA. José Luis Cetina* > > > > > > > > > > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------- > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------- > > > > > > > > > > > *SCJA. José Luis Cetina* > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------- > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >
