i mean you can say you dont want to rely on it but supposing you can is not a big assumption (that's startup) and eases the dev a lot
*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]> > 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* > > > > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------- > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >
