You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomee.apache.org by David Nordahl <da...@thinkology.org> on 2012/07/08 22:04:18 UTC

Detected Reentrant Flush

I'm attempting the code:

Properties properties = new Properties();
properties.setProperty(Context.INITIAL_CONTEXT_FACTORY, 
"org.apache.openejb.client.LocalInitialContextFactory");
InitialContext initialContext = new InitialContext(properties);
Object object = initialContext.lookup("UserFacadeLocal");
UserFacadeLocal userFacade = (UserFacadeLocal) object;
User newuser = new User();
newuser.setEmail("cow@cow.moo");
newuser.setUserName("steve");
newuser.setPassword("cows");
userFacade.create(newuser);

but keep getting "org.apache.openjpa.persistence.InvalidStateException: 
Detected reentrant flush.  Make sure your flush-time instance callback 
methods or event listeners do not invoke any operations that require the 
in-progress flush to complete."

I tried setting "openjpa.FlushBeforeQueries" to false just to see if I 
can get the error to go away, but it makes no difference.  I can't find 
a flush() call in my project and according to the table in the docs, 
flush is not called if this parameter is set.  What am I not doing 
correctly here?

Thank you,
David

Re: Detected Reentrant Flush

Posted by David Nordahl <da...@thinkology.org>.
It worked!!!! Awesome.  Thank you

On 7/8/2012 10:05 PM, Martin Kjær Jørgensen wrote:
> I've experienced the same in my application. My entities have generated
> id's as well, and i "fixed" it by removing "optinal = false" from the
> @Basic annotation of the @Id field, like so:
>
> public class User implements Serializable {
> 	private static final long serialVersionUID = 1L;
> 	@Id
> 	@GeneratedValue(strategy = GenerationType.IDENTITY)
> 	@Basic
> 	@Column(name = "user_id")
> 	private Integer userId;
>
>
>
> On 09-07-2012 03:20, David Nordahl wrote:
>> Tried the snap shot.. I get an error in Netbeans saying that it can't
>> deploy the app and to check the server log, yet the server log has no
>> errors and shows the app deploying successfully yet I cannot open the
>> web host in the browser.  I give up... I could have written all the
>> middle ware needed for this project myself by now.  Thanks for your
>> efforts.
>>
>> On 7/8/2012 4:56 PM, Romain Manni-Bucau wrote:
>>> hmm
>>>
>>> you use tomee 1.0.0
>>>
>>> can you give it a try to the snapshot please? we worked a bit on netbeans
>>> integration.
>>>
>>> - Romain
>>>
>>>
>>> 2012/7/8 David Nordahl<da...@thinkology.org>
>>>
>>>> Btw.. Is it normal to have these exceptions on startup?  I saw another
>>>> post saying they were, but I thought I might double check.  I seem to be
>>>> able to query through open EJB, but not update and add.  I'm also
>>>> wondering
>>>> if there is anyway that the reentrant flush error is covering up another
>>>> error.  I guess I can start working on a test case.. I wish I could just
>>>> find a netbeans JSP2.0/EJB/TomEE sample project where everything was
>>>> already setup correctly.
>>>>
>>>> SEVERE: Error in safeBind method
>>>> javax.naming.**NameNotFoundException: Name [openejb] is not bound in
>>>> this
>>>> Context. Unable to find [openejb].
>>>>       at
>>>> org.apache.naming.**NamingContext.lookup(**NamingContext.java:820)
>>>>       at
>>>> org.apache.naming.**NamingContext.lookup(**NamingContext.java:168)
>>>>       at org.apache.tomee.catalina.**TomcatWebAppBuilder.safeBind(**
>>>> TomcatWebAppBuilder.java:1196)
>>>>       at org.apache.tomee.catalina.**TomcatWebAppBuilder.**afterStart(**
>>>> TomcatWebAppBuilder.java:776)
>>>>       at
>>>> org.apache.tomee.catalina.**GlobalListenerSupport.**lifecycleEvent(
>>>> **GlobalListenerSupport.java:**103)
>>>>       at
>>>> org.apache.catalina.util.**LifecycleSupport.**fireLifecycleEvent(**
>>>> LifecycleSupport.java:119)
>>>>       at org.apache.catalina.util.**LifecycleBase.**fireLifecycleEvent(**
>>>> LifecycleBase.java:90)
>>>>       at org.apache.catalina.util.**LifecycleBase.**setStateInternal(**
>>>> LifecycleBase.java:401)
>>>>       at org.apache.catalina.util.**LifecycleBase.start(**
>>>> LifecycleBase.java:168)
>>>>       at org.apache.catalina.core.**ContainerBase.**addChildInternal(**
>>>> ContainerBase.java:895)
>>>>       at org.apache.catalina.core.**ContainerBase.addChild(**
>>>> ContainerBase.java:871)
>>>>       at org.apache.catalina.core.**StandardHost.addChild(**
>>>> StandardHost.java:615)
>>>>       at org.apache.catalina.startup.**HostConfig.deployDescriptor(**
>>>> HostConfig.java:649)
>>>>       at org.apache.catalina.startup.**HostConfig.deployApps(**
>>>> HostConfig.java:530)
>>>>       at org.apache.catalina.startup.**HostConfig.check(HostConfig.**
>>>> java:1471)
>>>>       at sun.reflect.**NativeMethodAccessorImpl.**invoke0(Native Method)
>>>>       at sun.reflect.**NativeMethodAccessorImpl.**invoke(**
>>>> NativeMethodAccessorImpl.java:**57)
>>>>       at sun.reflect.**DelegatingMethodAccessorImpl.**invoke(**
>>>> DelegatingMethodAccessorImpl.**java:43)
>>>>       at java.lang.reflect.Method.**invoke(Method.java:601)
>>>>       at org.apache.tomcat.util.**modeler.BaseModelMBean.invoke(**
>>>> BaseModelMBean.java:301)
>>>>       at
>>>> com.sun.jmx.interceptor.**DefaultMBeanServerInterceptor.**invoke(**
>>>> DefaultMBeanServerInterceptor.**java:819)
>>>>       at com.sun.jmx.mbeanserver.**JmxMBeanServer.invoke(**
>>>> JmxMBeanServer.java:791)
>>>>       at org.apache.catalina.manager.**ManagerServlet.check(**
>>>> ManagerServlet.java:1436)
>>>>       at org.apache.catalina.manager.**ManagerServlet.deploy(**
>>>> ManagerServlet.java:856)
>>>>       at org.apache.catalina.manager.**ManagerServlet.doGet(**
>>>> ManagerServlet.java:353)
>>>>       at javax.servlet.http.**HttpServlet.service(**HttpServlet.java:621)
>>>>       at javax.servlet.http.**HttpServlet.service(**HttpServlet.java:722)
>>>>       at org.apache.catalina.core.**ApplicationFilterChain.**
>>>> internalDoFilter(**ApplicationFilterChain.java:**305)
>>>>       at org.apache.catalina.core.**ApplicationFilterChain.**doFilter(**
>>>> ApplicationFilterChain.java:**210)
>>>>       at org.apache.catalina.filters.**SetCharacterEncodingFilter.**
>>>> doFilter(**SetCharacterEncodingFilter.**java:108)
>>>>       at org.apache.catalina.core.**ApplicationFilterChain.**
>>>> internalDoFilter(**ApplicationFilterChain.java:**243)
>>>>       at org.apache.catalina.core.**ApplicationFilterChain.**doFilter(**
>>>> ApplicationFilterChain.java:**210)
>>>>       at org.apache.catalina.core.**StandardWrapperValve.invoke(**
>>>> StandardWrapperValve.java:225)
>>>>       at org.apache.catalina.core.**StandardContextValve.invoke(**
>>>> StandardContextValve.java:169)
>>>>       at org.apache.tomee.catalina.**OpenEJBValve.invoke(**
>>>> OpenEJBValve.java:44)
>>>>       at
>>>> org.apache.catalina.**authenticator.**AuthenticatorBase.invoke(**
>>>> AuthenticatorBase.java:581)
>>>>       at org.apache.catalina.core.**StandardHostValve.invoke(**
>>>> StandardHostValve.java:168)
>>>>       at org.apache.catalina.valves.**ErrorReportValve.invoke(**
>>>> ErrorReportValve.java:98)
>>>>       at org.apache.catalina.valves.**AccessLogValve.invoke(**
>>>> AccessLogValve.java:927)
>>>>       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:**999)
>>>>       at
>>>> org.apache.coyote.**AbstractProtocol$**AbstractConnectionHandler.**
>>>> process(AbstractProtocol.java:**565)
>>>>       at org.apache.tomcat.util.net.**JIoEndpoint$SocketProcessor.**
>>>> run(JIoEndpoint.java:309)
>>>>       at java.util.concurrent.**ThreadPoolExecutor.runWorker(**
>>>> ThreadPoolExecutor.java:1110)
>>>>       at java.util.concurrent.**ThreadPoolExecutor$Worker.run(**
>>>> ThreadPoolExecutor.java:603)
>>>>       at java.lang.Thread.run(Thread.**java:722)
>>>>
>>>> Jul 08, 2012 4:40:06 PM org.apache.tomee.catalina.**TomcatWebAppBuilder
>>>> safeBind
>>>> INFO: TransactionManager already bound, ignoring
>>>> Jul 08, 2012 4:40:06 PM org.apache.tomee.catalina.**TomcatWebAppBuilder
>>>> safeBind
>>>> INFO: TransactionSynchronizationRegi**stry already bound, ignoring
>>>> Jul 08, 2012 4:40:06 PM org.apache.tomee.catalina.**TomcatWebAppBuilder
>>>> safeBind
>>>> SEVERE: Error in safeBind method
>>>> javax.naming.**NameNotFoundException: No ORB registered with the OpenEJB
>>>> system
>>>>       at
>>>> org.apache.openejb.core.ivm.**naming.**SystemComponentReference.**
>>>> getObject(**SystemComponentReference.java:**38)
>>>>       at org.apache.openejb.core.ivm.**naming.Reference.getContent(**
>>>> Reference.java:40)
>>>>       at org.apache.xbean.naming.**reference.SimpleReference$**
>>>> SimpleObjectFactory.**getObjectInstance(**SimpleReference.java:137)
>>>>       at javax.naming.spi.**NamingManager.**getObjectInstance(**
>>>> NamingManager.java:321)
>>>>       at
>>>> org.apache.naming.**NamingContext.lookup(**NamingContext.java:843)
>>>>       at
>>>> org.apache.naming.**NamingContext.lookup(**NamingContext.java:168)
>>>>       at org.apache.tomee.catalina.**TomcatWebAppBuilder.safeBind(**
>>>> TomcatWebAppBuilder.java:1196)
>>>>       at org.apache.tomee.catalina.**TomcatWebAppBuilder.**afterStart(**
>>>> TomcatWebAppBuilder.java:806)
>>>>       at
>>>> org.apache.tomee.catalina.**GlobalListenerSupport.**lifecycleEvent(
>>>> **GlobalListenerSupport.java:**103)
>>>>       at
>>>> org.apache.catalina.util.**LifecycleSupport.**fireLifecycleEvent(**
>>>> LifecycleSupport.java:119)
>>>>       at org.apache.catalina.util.**LifecycleBase.**fireLifecycleEvent(**
>>>> LifecycleBase.java:90)
>>>>       at org.apache.catalina.util.**LifecycleBase.**setStateInternal(**
>>>> LifecycleBase.java:401)
>>>>       at org.apache.catalina.util.**LifecycleBase.start(**
>>>> LifecycleBase.java:168)
>>>>       at org.apache.catalina.core.**ContainerBase.**addChildInternal(**
>>>> ContainerBase.java:895)
>>>>       at org.apache.catalina.core.**ContainerBase.addChild(**
>>>> ContainerBase.java:871)
>>>>       at org.apache.catalina.core.**StandardHost.addChild(**
>>>> StandardHost.java:615)
>>>>       at org.apache.catalina.startup.**HostConfig.deployDescriptor(**
>>>> HostConfig.java:649)
>>>>       at org.apache.catalina.startup.**HostConfig.deployApps(**
>>>> HostConfig.java:530)
>>>>       at org.apache.catalina.startup.**HostConfig.check(HostConfig.**
>>>> java:1471)
>>>>       at sun.reflect.**NativeMethodAccessorImpl.**invoke0(Native Method)
>>>>       at sun.reflect.**NativeMethodAccessorImpl.**invoke(**
>>>> NativeMethodAccessorImpl.java:**57)
>>>>       at sun.reflect.**DelegatingMethodAccessorImpl.**invoke(**
>>>> DelegatingMethodAccessorImpl.**java:43)
>>>>       at java.lang.reflect.Method.**invoke(Method.java:601)
>>>>       at org.apache.tomcat.util.**modeler.BaseModelMBean.invoke(**
>>>> BaseModelMBean.java:301)
>>>>       at
>>>> com.sun.jmx.interceptor.**DefaultMBeanServerInterceptor.**invoke(**
>>>> DefaultMBeanServerInterceptor.**java:819)
>>>>       at com.sun.jmx.mbeanserver.**JmxMBeanServer.invoke(**
>>>> JmxMBeanServer.java:791)
>>>>       at org.apache.catalina.manager.**ManagerServlet.check(**
>>>> ManagerServlet.java:1436)
>>>>       at org.apache.catalina.manager.**ManagerServlet.deploy(**
>>>> ManagerServlet.java:856)
>>>>       at org.apache.catalina.manager.**ManagerServlet.doGet(**
>>>> ManagerServlet.java:353)
>>>>       at javax.servlet.http.**HttpServlet.service(**HttpServlet.java:621)
>>>>       at javax.servlet.http.**HttpServlet.service(**HttpServlet.java:722)
>>>>       at org.apache.catalina.core.**ApplicationFilterChain.**
>>>> internalDoFilter(**ApplicationFilterChain.java:**305)
>>>>       at org.apache.catalina.core.**ApplicationFilterChain.**doFilter(**
>>>> ApplicationFilterChain.java:**210)
>>>>       at org.apache.catalina.filters.**SetCharacterEncodingFilter.**
>>>> doFilter(**SetCharacterEncodingFilter.**java:108)
>>>>       at org.apache.catalina.core.**ApplicationFilterChain.**
>>>> internalDoFilter(**ApplicationFilterChain.java:**243)
>>>>       at org.apache.catalina.core.**ApplicationFilterChain.**doFilter(**
>>>> ApplicationFilterChain.java:**210)
>>>>       at org.apache.catalina.core.**StandardWrapperValve.invoke(**
>>>> StandardWrapperValve.java:225)
>>>>       at org.apache.catalina.core.**StandardContextValve.invoke(**
>>>> StandardContextValve.java:169)
>>>>       at org.apache.tomee.catalina.**OpenEJBValve.invoke(**
>>>> OpenEJBValve.java:44)
>>>>       at
>>>> org.apache.catalina.**authenticator.**AuthenticatorBase.invoke(**
>>>> AuthenticatorBase.java:581)
>>>>       at org.apache.catalina.core.**StandardHostValve.invoke(**
>>>> StandardHostValve.java:168)
>>>>       at org.apache.catalina.valves.**ErrorReportValve.invoke(**
>>>> ErrorReportValve.java:98)
>>>>       at org.apache.catalina.valves.**AccessLogValve.invoke(**
>>>> AccessLogValve.java:927)
>>>>       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:**999)
>>>>       at
>>>> org.apache.coyote.**AbstractProtocol$**AbstractConnectionHandler.**
>>>> process(AbstractProtocol.java:**565)
>>>>       at org.apache.tomcat.util.net.**JIoEndpoint$SocketProcessor.**
>>>> run(JIoEndpoint.java:309)
>>>>       at java.util.concurrent.**ThreadPoolExecutor.runWorker(**
>>>> ThreadPoolExecutor.java:1110)
>>>>       at java.util.concurrent.**ThreadPoolExecutor$Worker.run(**
>>>> ThreadPoolExecutor.java:603)
>>>>       at java.lang.Thread.run(Thread.**java:722)
>>>>
>>>> Jul 08, 2012 4:40:43 PM org.apache.tomee.catalina.**TomcatWebAppBuilder
>>>> safeBind
>>>> SEVERE: Error in safeBind method
>>>> javax.naming.**NameNotFoundException: No HandleDelegate registered with
>>>> the OpenEJB system
>>>>       at
>>>> org.apache.openejb.core.ivm.**naming.**SystemComponentReference.**
>>>> getObject(**SystemComponentReference.java:**38)
>>>>       at org.apache.openejb.core.ivm.**naming.Reference.getContent(**
>>>> Reference.java:40)
>>>>       at org.apache.xbean.naming.**reference.SimpleReference$**
>>>> SimpleObjectFactory.**getObjectInstance(**SimpleReference.java:137)
>>>>       at javax.naming.spi.**NamingManager.**getObjectInstance(**
>>>> NamingManager.java:321)
>>>>       at
>>>> org.apache.naming.**NamingContext.lookup(**NamingContext.java:843)
>>>>       at
>>>> org.apache.naming.**NamingContext.lookup(**NamingContext.java:168)
>>>>       at org.apache.tomee.catalina.**TomcatWebAppBuilder.safeBind(**
>>>> TomcatWebAppBuilder.java:1196)
>>>>       at org.apache.tomee.catalina.**TomcatWebAppBuilder.**afterStart(**
>>>> TomcatWebAppBuilder.java:807)
>>>>       at
>>>> org.apache.tomee.catalina.**GlobalListenerSupport.**lifecycleEvent(
>>>> **GlobalListenerSupport.java:**103)
>>>>       at
>>>> org.apache.catalina.util.**LifecycleSupport.**fireLifecycleEvent(**
>>>> LifecycleSupport.java:119)
>>>>       at org.apache.catalina.util.**LifecycleBase.**fireLifecycleEvent(**
>>>> LifecycleBase.java:90)
>>>>       at org.apache.catalina.util.**LifecycleBase.**setStateInternal(**
>>>> LifecycleBase.java:401)
>>>>       at org.apache.catalina.util.**LifecycleBase.start(**
>>>> LifecycleBase.java:168)
>>>>       at org.apache.catalina.core.**ContainerBase.**addChildInternal(**
>>>> ContainerBase.java:895)
>>>>       at org.apache.catalina.core.**ContainerBase.addChild(**
>>>> ContainerBase.java:871)
>>>>       at org.apache.catalina.core.**StandardHost.addChild(**
>>>> StandardHost.java:615)
>>>>       at org.apache.catalina.startup.**HostConfig.deployDescriptor(**
>>>> HostConfig.java:649)
>>>>       at org.apache.catalina.startup.**HostConfig.deployApps(**
>>>> HostConfig.java:530)
>>>>       at org.apache.catalina.startup.**HostConfig.check(HostConfig.**
>>>> java:1471)
>>>>       at sun.reflect.**NativeMethodAccessorImpl.**invoke0(Native Method)
>>>>       at sun.reflect.**NativeMethodAccessorImpl.**invoke(**
>>>> NativeMethodAccessorImpl.java:**57)
>>>>       at sun.reflect.**DelegatingMethodAccessorImpl.**invoke(**
>>>> DelegatingMethodAccessorImpl.**java:43)
>>>>       at java.lang.reflect.Method.**invoke(Method.java:601)
>>>>       at org.apache.tomcat.util.**modeler.BaseModelMBean.invoke(**
>>>> BaseModelMBean.java:301)
>>>>       at
>>>> com.sun.jmx.interceptor.**DefaultMBeanServerInterceptor.**invoke(**
>>>> DefaultMBeanServerInterceptor.**java:819)
>>>>       at com.sun.jmx.mbeanserver.**JmxMBeanServer.invoke(**
>>>> JmxMBeanServer.java:791)
>>>>       at org.apache.catalina.manager.**ManagerServlet.check(**
>>>> ManagerServlet.java:1436)
>>>>       at org.apache.catalina.manager.**ManagerServlet.deploy(**
>>>> ManagerServlet.java:856)
>>>>       at org.apache.catalina.manager.**ManagerServlet.doGet(**
>>>> ManagerServlet.java:353)
>>>>       at javax.servlet.http.**HttpServlet.service(**HttpServlet.java:621)
>>>>       at javax.servlet.http.**HttpServlet.service(**HttpServlet.java:722)
>>>>       at org.apache.catalina.core.**ApplicationFilterChain.**
>>>> internalDoFilter(**ApplicationFilterChain.java:**305)
>>>>       at org.apache.catalina.core.**ApplicationFilterChain.**doFilter(**
>>>> ApplicationFilterChain.java:**210)
>>>>       at org.apache.catalina.filters.**SetCharacterEncodingFilter.**
>>>> doFilter(**SetCharacterEncodingFilter.**java:108)
>>>>       at org.apache.catalina.core.**ApplicationFilterChain.**
>>>> internalDoFilter(**ApplicationFilterChain.java:**243)
>>>>       at org.apache.catalina.core.**ApplicationFilterChain.**doFilter(**
>>>> ApplicationFilterChain.java:**210)
>>>>       at org.apache.catalina.core.**StandardWrapperValve.invoke(**
>>>> StandardWrapperValve.java:225)
>>>>       at org.apache.catalina.core.**StandardContextValve.invoke(**
>>>> StandardContextValve.java:169)
>>>>       at org.apache.tomee.catalina.**OpenEJBValve.invoke(**
>>>> OpenEJBValve.java:44)
>>>>       at
>>>> org.apache.catalina.**authenticator.**AuthenticatorBase.invoke(**
>>>> AuthenticatorBase.java:581)
>>>>       at org.apache.catalina.core.**StandardHostValve.invoke(**
>>>> StandardHostValve.java:168)
>>>>       at org.apache.catalina.valves.**ErrorReportValve.invoke(**
>>>> ErrorReportValve.java:98)
>>>>       at org.apache.catalina.valves.**AccessLogValve.invoke(**
>>>> AccessLogValve.java:927)
>>>>       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:**999)
>>>>       at
>>>> org.apache.coyote.**AbstractProtocol$**AbstractConnectionHandler.**
>>>> process(AbstractProtocol.java:**565)
>>>>       at org.apache.tomcat.util.net.**JIoEndpoint$SocketProcessor.**
>>>> run(JIoEndpoint.java:309)
>>>>       at java.util.concurrent.**ThreadPoolExecutor.runWorker(**
>>>> ThreadPoolExecutor.java:1110)
>>>>       at java.util.concurrent.**ThreadPoolExecutor$Worker.run(**
>>>> ThreadPoolExecutor.java:603)
>>>>       at java.lang.Thread.run(Thread.**java:722)
>>>>
>>>>
>>>>
>>>> On 7/8/2012 4:32 PM, Romain Manni-Bucau wrote:
>>>>
>>>>> i don't think so,
>>>>>
>>>>> can you try moving your code in a unit test to see if it still happen?
>>>>>
>>>>> - Romain
>>>>>
>>>>>
>>>>> 2012/7/8 David Nordahl<da...@thinkology.org>
>>>>>
>>>>>    Could it be the Tomcat JDBCRealm I have enforcing container managed
>>>>>> security from user data in the same table?
>>>>>>
>>>>>>
>>>>>> On 7/8/2012 4:14 PM, Romain Manni-Bucau wrote:
>>>>>>
>>>>>>    i can't say no but i'm pretty sure it is something in the container
>>>>>>> rather
>>>>>>> in the DB.
>>>>>>>
>>>>>>> - Romain
>>>>>>>
>>>>>>>
>>>>>>> 2012/7/8 David Nordahl<da...@thinkology.org>
>>>>>>>
>>>>>>>     Maybe the DB settings could have something to do with it? I'm
>>>>>>> using
>>>>>>> MySQL
>>>>>>>
>>>>>>>> with it's default setup which uses InnoDB.  I notice in the
>>>>>>>> documentation
>>>>>>>> that "InnoDB, with innodb_flush_log_at_trx_commit set to 1,
>>>>>>>> flushes the
>>>>>>>> transaction log after each transaction, greatly improving
>>>>>>>> reliability."
>>>>>>>>
>>>>>>>> Could some DB setting like this be causing the issue?
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> On 7/8/2012 3:39 PM, Romain Manni-Bucau wrote:
>>>>>>>>
>>>>>>>>     can you share a small sample to reproduce it, will be easier
>>>>>>>> to help
>>>>>>>>
>>>>>>>>> you?
>>>>>>>>>
>>>>>>>>> - Romain
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> 2012/7/8 David Nordahl<da...@thinkology.org>
>>>>>>>>>
>>>>>>>>>      Not that I've configured.. Unless one of the annotations
>>>>>>>>> creates
>>>>>>>>> one:
>>>>>>>>>
>>>>>>>>>    @Entity
>>>>>>>>>> @Table(name = "user")
>>>>>>>>>> @XmlRootElement
>>>>>>>>>> @NamedQueries({
>>>>>>>>>>          @NamedQuery(name = "User.findAll", query = "SELECT u
>>>>>>>>>> FROM User
>>>>>>>>>> u"),
>>>>>>>>>>          @NamedQuery(name = "User.findByUserId", query = "SELECT
>>>>>>>>>> u FROM
>>>>>>>>>> User
>>>>>>>>>> u
>>>>>>>>>> WHERE u.userId = :userId"),
>>>>>>>>>>          @NamedQuery(name = "User.findByUserName", query =
>>>>>>>>>> "SELECT u
>>>>>>>>>> FROM
>>>>>>>>>> User
>>>>>>>>>> u WHERE u.userName = :userName"),
>>>>>>>>>>          @NamedQuery(name = "User.findByPassword", query =
>>>>>>>>>> "SELECT u
>>>>>>>>>> FROM
>>>>>>>>>> User
>>>>>>>>>> u WHERE u.password = :password"),
>>>>>>>>>>          @NamedQuery(name = "User.findByEmail", query = "SELECT
>>>>>>>>>> u FROM
>>>>>>>>>> User u
>>>>>>>>>> WHERE u.email = :email"),
>>>>>>>>>>          @NamedQuery(name = "User.findByFirstName", query =
>>>>>>>>>> "SELECT u
>>>>>>>>>> FROM
>>>>>>>>>> User
>>>>>>>>>> u WHERE u.firstName = :firstName"),
>>>>>>>>>>          @NamedQuery(name = "User.findByLastName", query =
>>>>>>>>>> "SELECT u
>>>>>>>>>> FROM
>>>>>>>>>> User
>>>>>>>>>> u WHERE u.lastName = :lastName"),
>>>>>>>>>>          @NamedQuery(name = "User.findByLoginFailures", query =
>>>>>>>>>> "SELECT u
>>>>>>>>>> FROM
>>>>>>>>>> User u WHERE u.loginFailures = :loginFailures"),
>>>>>>>>>>          @NamedQuery(name = "User.findByLastLoginFailure", query =
>>>>>>>>>> "SELECT u
>>>>>>>>>> FROM User u WHERE u.lastLoginFailure = :lastLoginFailure")})
>>>>>>>>>> public class User implements Serializable {
>>>>>>>>>>          private static final long serialVersionUID = 1L;
>>>>>>>>>>          @Id
>>>>>>>>>>          @GeneratedValue(strategy = GenerationType.IDENTITY)
>>>>>>>>>>          @Basic(optional = false)
>>>>>>>>>>          @Column(name = "user_id")
>>>>>>>>>>          private Integer userId;
>>>>>>>>>>          @Basic(optional = false)
>>>>>>>>>>          @Column(name = "user_name")
>>>>>>>>>>          private String userName;
>>>>>>>>>>          @Basic(optional = false)
>>>>>>>>>>          @Column(name = "password")
>>>>>>>>>>          private String password;
>>>>>>>>>>          @Column(name = "email")
>>>>>>>>>>          private String email;
>>>>>>>>>>          @Column(name = "first_name")
>>>>>>>>>>          private String firstName;
>>>>>>>>>>          @Column(name = "last_name")
>>>>>>>>>>          private String lastName;
>>>>>>>>>>          @Column(name = "login_failures")
>>>>>>>>>>          private Integer loginFailures;
>>>>>>>>>>          @Column(name = "last_login_failure")
>>>>>>>>>>          @Temporal(TemporalType.********TIMESTAMP)
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>          private Date lastLoginFailure;
>>>>>>>>>>          @JoinColumn(name = "associated_customer",
>>>>>>>>>> referencedColumnName =
>>>>>>>>>> "customer_id")
>>>>>>>>>>          @ManyToOne
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On 7/8/2012 3:25 PM, Romain Manni-Bucau wrote:
>>>>>>>>>>
>>>>>>>>>>      Hi,
>>>>>>>>>>
>>>>>>>>>>    any entity listener playing with id or special field on User
>>>>>>>>>> entity?
>>>>>>>>>>> - Romain
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> 2012/7/8 David Nordahl<da...@thinkology.org>
>>>>>>>>>>>
>>>>>>>>>>>       I'm attempting the code:
>>>>>>>>>>>
>>>>>>>>>>>     Properties properties = new Properties();
>>>>>>>>>>>
>>>>>>>>>>>> properties.setProperty(**********Context.INITIAL_CONTEXT_*******
>>>>>>>>>>>> ***
>>>>>>>>>>>> FACTORY,
>>>>>>>>>>>> "org.apache.openejb.client.************
>>>>>>>>>>>> LocalInitialContextFactory"**)**;
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> InitialContext initialContext = new InitialContext(properties);
>>>>>>>>>>>> Object object = initialContext.lookup("*********
>>>>>>>>>>>> *UserFacadeLocal");
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> UserFacadeLocal userFacade = (UserFacadeLocal) object;
>>>>>>>>>>>> User newuser = new User();
>>>>>>>>>>>> newuser.setEmail("cow@cow.moo"**********);
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> newuser.setUserName("steve");
>>>>>>>>>>>> newuser.setPassword("cows");
>>>>>>>>>>>> userFacade.create(newuser);
>>>>>>>>>>>>
>>>>>>>>>>>> but keep getting "org.apache.openjpa.**********persistence.****
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> InvalidStateException:
>>>>>>>>>>>>
>>>>>>>>>>>> Detected reentrant flush.  Make sure your flush-time instance
>>>>>>>>>>>> callback
>>>>>>>>>>>> methods or event listeners do not invoke any operations that
>>>>>>>>>>>> require
>>>>>>>>>>>> the
>>>>>>>>>>>> in-progress flush to complete."
>>>>>>>>>>>>
>>>>>>>>>>>> I tried setting "openjpa.FlushBeforeQueries" to false just to
>>>>>>>>>>>> see
>>>>>>>>>>>> if
>>>>>>>>>>>> I
>>>>>>>>>>>> can
>>>>>>>>>>>> get the error to go away, but it makes no difference.  I can't
>>>>>>>>>>>> find a
>>>>>>>>>>>> flush() call in my project and according to the table in the
>>>>>>>>>>>> docs,
>>>>>>>>>>>> flush
>>>>>>>>>>>> is
>>>>>>>>>>>> not called if this parameter is set.  What am I not doing
>>>>>>>>>>>> correctly
>>>>>>>>>>>> here?
>>>>>>>>>>>>
>>>>>>>>>>>> Thank you,
>>>>>>>>>>>> David
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>

Re: Detected Reentrant Flush

Posted by Martin Kjær Jørgensen <mk...@gotu.dk>.
I've experienced the same in my application. My entities have generated
id's as well, and i "fixed" it by removing "optinal = false" from the
@Basic annotation of the @Id field, like so:

public class User implements Serializable {
	private static final long serialVersionUID = 1L;
	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	@Basic
	@Column(name = "user_id")
	private Integer userId;



On 09-07-2012 03:20, David Nordahl wrote:
> Tried the snap shot.. I get an error in Netbeans saying that it can't
> deploy the app and to check the server log, yet the server log has no
> errors and shows the app deploying successfully yet I cannot open the
> web host in the browser.  I give up... I could have written all the
> middle ware needed for this project myself by now.  Thanks for your
> efforts.
> 
> On 7/8/2012 4:56 PM, Romain Manni-Bucau wrote:
>> hmm
>>
>> you use tomee 1.0.0
>>
>> can you give it a try to the snapshot please? we worked a bit on netbeans
>> integration.
>>
>> - Romain
>>
>>
>> 2012/7/8 David Nordahl<da...@thinkology.org>
>>
>>> Btw.. Is it normal to have these exceptions on startup?  I saw another
>>> post saying they were, but I thought I might double check.  I seem to be
>>> able to query through open EJB, but not update and add.  I'm also
>>> wondering
>>> if there is anyway that the reentrant flush error is covering up another
>>> error.  I guess I can start working on a test case.. I wish I could just
>>> find a netbeans JSP2.0/EJB/TomEE sample project where everything was
>>> already setup correctly.
>>>
>>> SEVERE: Error in safeBind method
>>> javax.naming.**NameNotFoundException: Name [openejb] is not bound in
>>> this
>>> Context. Unable to find [openejb].
>>>      at
>>> org.apache.naming.**NamingContext.lookup(**NamingContext.java:820)
>>>      at
>>> org.apache.naming.**NamingContext.lookup(**NamingContext.java:168)
>>>      at org.apache.tomee.catalina.**TomcatWebAppBuilder.safeBind(**
>>> TomcatWebAppBuilder.java:1196)
>>>      at org.apache.tomee.catalina.**TomcatWebAppBuilder.**afterStart(**
>>> TomcatWebAppBuilder.java:776)
>>>      at
>>> org.apache.tomee.catalina.**GlobalListenerSupport.**lifecycleEvent(
>>> **GlobalListenerSupport.java:**103)
>>>      at
>>> org.apache.catalina.util.**LifecycleSupport.**fireLifecycleEvent(**
>>> LifecycleSupport.java:119)
>>>      at org.apache.catalina.util.**LifecycleBase.**fireLifecycleEvent(**
>>> LifecycleBase.java:90)
>>>      at org.apache.catalina.util.**LifecycleBase.**setStateInternal(**
>>> LifecycleBase.java:401)
>>>      at org.apache.catalina.util.**LifecycleBase.start(**
>>> LifecycleBase.java:168)
>>>      at org.apache.catalina.core.**ContainerBase.**addChildInternal(**
>>> ContainerBase.java:895)
>>>      at org.apache.catalina.core.**ContainerBase.addChild(**
>>> ContainerBase.java:871)
>>>      at org.apache.catalina.core.**StandardHost.addChild(**
>>> StandardHost.java:615)
>>>      at org.apache.catalina.startup.**HostConfig.deployDescriptor(**
>>> HostConfig.java:649)
>>>      at org.apache.catalina.startup.**HostConfig.deployApps(**
>>> HostConfig.java:530)
>>>      at org.apache.catalina.startup.**HostConfig.check(HostConfig.**
>>> java:1471)
>>>      at sun.reflect.**NativeMethodAccessorImpl.**invoke0(Native Method)
>>>      at sun.reflect.**NativeMethodAccessorImpl.**invoke(**
>>> NativeMethodAccessorImpl.java:**57)
>>>      at sun.reflect.**DelegatingMethodAccessorImpl.**invoke(**
>>> DelegatingMethodAccessorImpl.**java:43)
>>>      at java.lang.reflect.Method.**invoke(Method.java:601)
>>>      at org.apache.tomcat.util.**modeler.BaseModelMBean.invoke(**
>>> BaseModelMBean.java:301)
>>>      at
>>> com.sun.jmx.interceptor.**DefaultMBeanServerInterceptor.**invoke(**
>>> DefaultMBeanServerInterceptor.**java:819)
>>>      at com.sun.jmx.mbeanserver.**JmxMBeanServer.invoke(**
>>> JmxMBeanServer.java:791)
>>>      at org.apache.catalina.manager.**ManagerServlet.check(**
>>> ManagerServlet.java:1436)
>>>      at org.apache.catalina.manager.**ManagerServlet.deploy(**
>>> ManagerServlet.java:856)
>>>      at org.apache.catalina.manager.**ManagerServlet.doGet(**
>>> ManagerServlet.java:353)
>>>      at javax.servlet.http.**HttpServlet.service(**HttpServlet.java:621)
>>>      at javax.servlet.http.**HttpServlet.service(**HttpServlet.java:722)
>>>      at org.apache.catalina.core.**ApplicationFilterChain.**
>>> internalDoFilter(**ApplicationFilterChain.java:**305)
>>>      at org.apache.catalina.core.**ApplicationFilterChain.**doFilter(**
>>> ApplicationFilterChain.java:**210)
>>>      at org.apache.catalina.filters.**SetCharacterEncodingFilter.**
>>> doFilter(**SetCharacterEncodingFilter.**java:108)
>>>      at org.apache.catalina.core.**ApplicationFilterChain.**
>>> internalDoFilter(**ApplicationFilterChain.java:**243)
>>>      at org.apache.catalina.core.**ApplicationFilterChain.**doFilter(**
>>> ApplicationFilterChain.java:**210)
>>>      at org.apache.catalina.core.**StandardWrapperValve.invoke(**
>>> StandardWrapperValve.java:225)
>>>      at org.apache.catalina.core.**StandardContextValve.invoke(**
>>> StandardContextValve.java:169)
>>>      at org.apache.tomee.catalina.**OpenEJBValve.invoke(**
>>> OpenEJBValve.java:44)
>>>      at
>>> org.apache.catalina.**authenticator.**AuthenticatorBase.invoke(**
>>> AuthenticatorBase.java:581)
>>>      at org.apache.catalina.core.**StandardHostValve.invoke(**
>>> StandardHostValve.java:168)
>>>      at org.apache.catalina.valves.**ErrorReportValve.invoke(**
>>> ErrorReportValve.java:98)
>>>      at org.apache.catalina.valves.**AccessLogValve.invoke(**
>>> AccessLogValve.java:927)
>>>      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:**999)
>>>      at
>>> org.apache.coyote.**AbstractProtocol$**AbstractConnectionHandler.**
>>> process(AbstractProtocol.java:**565)
>>>      at org.apache.tomcat.util.net.**JIoEndpoint$SocketProcessor.**
>>> run(JIoEndpoint.java:309)
>>>      at java.util.concurrent.**ThreadPoolExecutor.runWorker(**
>>> ThreadPoolExecutor.java:1110)
>>>      at java.util.concurrent.**ThreadPoolExecutor$Worker.run(**
>>> ThreadPoolExecutor.java:603)
>>>      at java.lang.Thread.run(Thread.**java:722)
>>>
>>> Jul 08, 2012 4:40:06 PM org.apache.tomee.catalina.**TomcatWebAppBuilder
>>> safeBind
>>> INFO: TransactionManager already bound, ignoring
>>> Jul 08, 2012 4:40:06 PM org.apache.tomee.catalina.**TomcatWebAppBuilder
>>> safeBind
>>> INFO: TransactionSynchronizationRegi**stry already bound, ignoring
>>> Jul 08, 2012 4:40:06 PM org.apache.tomee.catalina.**TomcatWebAppBuilder
>>> safeBind
>>> SEVERE: Error in safeBind method
>>> javax.naming.**NameNotFoundException: No ORB registered with the OpenEJB
>>> system
>>>      at
>>> org.apache.openejb.core.ivm.**naming.**SystemComponentReference.**
>>> getObject(**SystemComponentReference.java:**38)
>>>      at org.apache.openejb.core.ivm.**naming.Reference.getContent(**
>>> Reference.java:40)
>>>      at org.apache.xbean.naming.**reference.SimpleReference$**
>>> SimpleObjectFactory.**getObjectInstance(**SimpleReference.java:137)
>>>      at javax.naming.spi.**NamingManager.**getObjectInstance(**
>>> NamingManager.java:321)
>>>      at
>>> org.apache.naming.**NamingContext.lookup(**NamingContext.java:843)
>>>      at
>>> org.apache.naming.**NamingContext.lookup(**NamingContext.java:168)
>>>      at org.apache.tomee.catalina.**TomcatWebAppBuilder.safeBind(**
>>> TomcatWebAppBuilder.java:1196)
>>>      at org.apache.tomee.catalina.**TomcatWebAppBuilder.**afterStart(**
>>> TomcatWebAppBuilder.java:806)
>>>      at
>>> org.apache.tomee.catalina.**GlobalListenerSupport.**lifecycleEvent(
>>> **GlobalListenerSupport.java:**103)
>>>      at
>>> org.apache.catalina.util.**LifecycleSupport.**fireLifecycleEvent(**
>>> LifecycleSupport.java:119)
>>>      at org.apache.catalina.util.**LifecycleBase.**fireLifecycleEvent(**
>>> LifecycleBase.java:90)
>>>      at org.apache.catalina.util.**LifecycleBase.**setStateInternal(**
>>> LifecycleBase.java:401)
>>>      at org.apache.catalina.util.**LifecycleBase.start(**
>>> LifecycleBase.java:168)
>>>      at org.apache.catalina.core.**ContainerBase.**addChildInternal(**
>>> ContainerBase.java:895)
>>>      at org.apache.catalina.core.**ContainerBase.addChild(**
>>> ContainerBase.java:871)
>>>      at org.apache.catalina.core.**StandardHost.addChild(**
>>> StandardHost.java:615)
>>>      at org.apache.catalina.startup.**HostConfig.deployDescriptor(**
>>> HostConfig.java:649)
>>>      at org.apache.catalina.startup.**HostConfig.deployApps(**
>>> HostConfig.java:530)
>>>      at org.apache.catalina.startup.**HostConfig.check(HostConfig.**
>>> java:1471)
>>>      at sun.reflect.**NativeMethodAccessorImpl.**invoke0(Native Method)
>>>      at sun.reflect.**NativeMethodAccessorImpl.**invoke(**
>>> NativeMethodAccessorImpl.java:**57)
>>>      at sun.reflect.**DelegatingMethodAccessorImpl.**invoke(**
>>> DelegatingMethodAccessorImpl.**java:43)
>>>      at java.lang.reflect.Method.**invoke(Method.java:601)
>>>      at org.apache.tomcat.util.**modeler.BaseModelMBean.invoke(**
>>> BaseModelMBean.java:301)
>>>      at
>>> com.sun.jmx.interceptor.**DefaultMBeanServerInterceptor.**invoke(**
>>> DefaultMBeanServerInterceptor.**java:819)
>>>      at com.sun.jmx.mbeanserver.**JmxMBeanServer.invoke(**
>>> JmxMBeanServer.java:791)
>>>      at org.apache.catalina.manager.**ManagerServlet.check(**
>>> ManagerServlet.java:1436)
>>>      at org.apache.catalina.manager.**ManagerServlet.deploy(**
>>> ManagerServlet.java:856)
>>>      at org.apache.catalina.manager.**ManagerServlet.doGet(**
>>> ManagerServlet.java:353)
>>>      at javax.servlet.http.**HttpServlet.service(**HttpServlet.java:621)
>>>      at javax.servlet.http.**HttpServlet.service(**HttpServlet.java:722)
>>>      at org.apache.catalina.core.**ApplicationFilterChain.**
>>> internalDoFilter(**ApplicationFilterChain.java:**305)
>>>      at org.apache.catalina.core.**ApplicationFilterChain.**doFilter(**
>>> ApplicationFilterChain.java:**210)
>>>      at org.apache.catalina.filters.**SetCharacterEncodingFilter.**
>>> doFilter(**SetCharacterEncodingFilter.**java:108)
>>>      at org.apache.catalina.core.**ApplicationFilterChain.**
>>> internalDoFilter(**ApplicationFilterChain.java:**243)
>>>      at org.apache.catalina.core.**ApplicationFilterChain.**doFilter(**
>>> ApplicationFilterChain.java:**210)
>>>      at org.apache.catalina.core.**StandardWrapperValve.invoke(**
>>> StandardWrapperValve.java:225)
>>>      at org.apache.catalina.core.**StandardContextValve.invoke(**
>>> StandardContextValve.java:169)
>>>      at org.apache.tomee.catalina.**OpenEJBValve.invoke(**
>>> OpenEJBValve.java:44)
>>>      at
>>> org.apache.catalina.**authenticator.**AuthenticatorBase.invoke(**
>>> AuthenticatorBase.java:581)
>>>      at org.apache.catalina.core.**StandardHostValve.invoke(**
>>> StandardHostValve.java:168)
>>>      at org.apache.catalina.valves.**ErrorReportValve.invoke(**
>>> ErrorReportValve.java:98)
>>>      at org.apache.catalina.valves.**AccessLogValve.invoke(**
>>> AccessLogValve.java:927)
>>>      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:**999)
>>>      at
>>> org.apache.coyote.**AbstractProtocol$**AbstractConnectionHandler.**
>>> process(AbstractProtocol.java:**565)
>>>      at org.apache.tomcat.util.net.**JIoEndpoint$SocketProcessor.**
>>> run(JIoEndpoint.java:309)
>>>      at java.util.concurrent.**ThreadPoolExecutor.runWorker(**
>>> ThreadPoolExecutor.java:1110)
>>>      at java.util.concurrent.**ThreadPoolExecutor$Worker.run(**
>>> ThreadPoolExecutor.java:603)
>>>      at java.lang.Thread.run(Thread.**java:722)
>>>
>>> Jul 08, 2012 4:40:43 PM org.apache.tomee.catalina.**TomcatWebAppBuilder
>>> safeBind
>>> SEVERE: Error in safeBind method
>>> javax.naming.**NameNotFoundException: No HandleDelegate registered with
>>> the OpenEJB system
>>>      at
>>> org.apache.openejb.core.ivm.**naming.**SystemComponentReference.**
>>> getObject(**SystemComponentReference.java:**38)
>>>      at org.apache.openejb.core.ivm.**naming.Reference.getContent(**
>>> Reference.java:40)
>>>      at org.apache.xbean.naming.**reference.SimpleReference$**
>>> SimpleObjectFactory.**getObjectInstance(**SimpleReference.java:137)
>>>      at javax.naming.spi.**NamingManager.**getObjectInstance(**
>>> NamingManager.java:321)
>>>      at
>>> org.apache.naming.**NamingContext.lookup(**NamingContext.java:843)
>>>      at
>>> org.apache.naming.**NamingContext.lookup(**NamingContext.java:168)
>>>      at org.apache.tomee.catalina.**TomcatWebAppBuilder.safeBind(**
>>> TomcatWebAppBuilder.java:1196)
>>>      at org.apache.tomee.catalina.**TomcatWebAppBuilder.**afterStart(**
>>> TomcatWebAppBuilder.java:807)
>>>      at
>>> org.apache.tomee.catalina.**GlobalListenerSupport.**lifecycleEvent(
>>> **GlobalListenerSupport.java:**103)
>>>      at
>>> org.apache.catalina.util.**LifecycleSupport.**fireLifecycleEvent(**
>>> LifecycleSupport.java:119)
>>>      at org.apache.catalina.util.**LifecycleBase.**fireLifecycleEvent(**
>>> LifecycleBase.java:90)
>>>      at org.apache.catalina.util.**LifecycleBase.**setStateInternal(**
>>> LifecycleBase.java:401)
>>>      at org.apache.catalina.util.**LifecycleBase.start(**
>>> LifecycleBase.java:168)
>>>      at org.apache.catalina.core.**ContainerBase.**addChildInternal(**
>>> ContainerBase.java:895)
>>>      at org.apache.catalina.core.**ContainerBase.addChild(**
>>> ContainerBase.java:871)
>>>      at org.apache.catalina.core.**StandardHost.addChild(**
>>> StandardHost.java:615)
>>>      at org.apache.catalina.startup.**HostConfig.deployDescriptor(**
>>> HostConfig.java:649)
>>>      at org.apache.catalina.startup.**HostConfig.deployApps(**
>>> HostConfig.java:530)
>>>      at org.apache.catalina.startup.**HostConfig.check(HostConfig.**
>>> java:1471)
>>>      at sun.reflect.**NativeMethodAccessorImpl.**invoke0(Native Method)
>>>      at sun.reflect.**NativeMethodAccessorImpl.**invoke(**
>>> NativeMethodAccessorImpl.java:**57)
>>>      at sun.reflect.**DelegatingMethodAccessorImpl.**invoke(**
>>> DelegatingMethodAccessorImpl.**java:43)
>>>      at java.lang.reflect.Method.**invoke(Method.java:601)
>>>      at org.apache.tomcat.util.**modeler.BaseModelMBean.invoke(**
>>> BaseModelMBean.java:301)
>>>      at
>>> com.sun.jmx.interceptor.**DefaultMBeanServerInterceptor.**invoke(**
>>> DefaultMBeanServerInterceptor.**java:819)
>>>      at com.sun.jmx.mbeanserver.**JmxMBeanServer.invoke(**
>>> JmxMBeanServer.java:791)
>>>      at org.apache.catalina.manager.**ManagerServlet.check(**
>>> ManagerServlet.java:1436)
>>>      at org.apache.catalina.manager.**ManagerServlet.deploy(**
>>> ManagerServlet.java:856)
>>>      at org.apache.catalina.manager.**ManagerServlet.doGet(**
>>> ManagerServlet.java:353)
>>>      at javax.servlet.http.**HttpServlet.service(**HttpServlet.java:621)
>>>      at javax.servlet.http.**HttpServlet.service(**HttpServlet.java:722)
>>>      at org.apache.catalina.core.**ApplicationFilterChain.**
>>> internalDoFilter(**ApplicationFilterChain.java:**305)
>>>      at org.apache.catalina.core.**ApplicationFilterChain.**doFilter(**
>>> ApplicationFilterChain.java:**210)
>>>      at org.apache.catalina.filters.**SetCharacterEncodingFilter.**
>>> doFilter(**SetCharacterEncodingFilter.**java:108)
>>>      at org.apache.catalina.core.**ApplicationFilterChain.**
>>> internalDoFilter(**ApplicationFilterChain.java:**243)
>>>      at org.apache.catalina.core.**ApplicationFilterChain.**doFilter(**
>>> ApplicationFilterChain.java:**210)
>>>      at org.apache.catalina.core.**StandardWrapperValve.invoke(**
>>> StandardWrapperValve.java:225)
>>>      at org.apache.catalina.core.**StandardContextValve.invoke(**
>>> StandardContextValve.java:169)
>>>      at org.apache.tomee.catalina.**OpenEJBValve.invoke(**
>>> OpenEJBValve.java:44)
>>>      at
>>> org.apache.catalina.**authenticator.**AuthenticatorBase.invoke(**
>>> AuthenticatorBase.java:581)
>>>      at org.apache.catalina.core.**StandardHostValve.invoke(**
>>> StandardHostValve.java:168)
>>>      at org.apache.catalina.valves.**ErrorReportValve.invoke(**
>>> ErrorReportValve.java:98)
>>>      at org.apache.catalina.valves.**AccessLogValve.invoke(**
>>> AccessLogValve.java:927)
>>>      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:**999)
>>>      at
>>> org.apache.coyote.**AbstractProtocol$**AbstractConnectionHandler.**
>>> process(AbstractProtocol.java:**565)
>>>      at org.apache.tomcat.util.net.**JIoEndpoint$SocketProcessor.**
>>> run(JIoEndpoint.java:309)
>>>      at java.util.concurrent.**ThreadPoolExecutor.runWorker(**
>>> ThreadPoolExecutor.java:1110)
>>>      at java.util.concurrent.**ThreadPoolExecutor$Worker.run(**
>>> ThreadPoolExecutor.java:603)
>>>      at java.lang.Thread.run(Thread.**java:722)
>>>
>>>
>>>
>>> On 7/8/2012 4:32 PM, Romain Manni-Bucau wrote:
>>>
>>>> i don't think so,
>>>>
>>>> can you try moving your code in a unit test to see if it still happen?
>>>>
>>>> - Romain
>>>>
>>>>
>>>> 2012/7/8 David Nordahl<da...@thinkology.org>
>>>>
>>>>   Could it be the Tomcat JDBCRealm I have enforcing container managed
>>>>> security from user data in the same table?
>>>>>
>>>>>
>>>>> On 7/8/2012 4:14 PM, Romain Manni-Bucau wrote:
>>>>>
>>>>>   i can't say no but i'm pretty sure it is something in the container
>>>>>> rather
>>>>>> in the DB.
>>>>>>
>>>>>> - Romain
>>>>>>
>>>>>>
>>>>>> 2012/7/8 David Nordahl<da...@thinkology.org>
>>>>>>
>>>>>>    Maybe the DB settings could have something to do with it? I'm
>>>>>> using
>>>>>> MySQL
>>>>>>
>>>>>>> with it's default setup which uses InnoDB.  I notice in the
>>>>>>> documentation
>>>>>>> that "InnoDB, with innodb_flush_log_at_trx_commit set to 1,
>>>>>>> flushes the
>>>>>>> transaction log after each transaction, greatly improving
>>>>>>> reliability."
>>>>>>>
>>>>>>> Could some DB setting like this be causing the issue?
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On 7/8/2012 3:39 PM, Romain Manni-Bucau wrote:
>>>>>>>
>>>>>>>    can you share a small sample to reproduce it, will be easier
>>>>>>> to help
>>>>>>>
>>>>>>>> you?
>>>>>>>>
>>>>>>>> - Romain
>>>>>>>>
>>>>>>>>
>>>>>>>> 2012/7/8 David Nordahl<da...@thinkology.org>
>>>>>>>>
>>>>>>>>     Not that I've configured.. Unless one of the annotations
>>>>>>>> creates
>>>>>>>> one:
>>>>>>>>
>>>>>>>>   @Entity
>>>>>>>>> @Table(name = "user")
>>>>>>>>> @XmlRootElement
>>>>>>>>> @NamedQueries({
>>>>>>>>>         @NamedQuery(name = "User.findAll", query = "SELECT u
>>>>>>>>> FROM User
>>>>>>>>> u"),
>>>>>>>>>         @NamedQuery(name = "User.findByUserId", query = "SELECT
>>>>>>>>> u FROM
>>>>>>>>> User
>>>>>>>>> u
>>>>>>>>> WHERE u.userId = :userId"),
>>>>>>>>>         @NamedQuery(name = "User.findByUserName", query =
>>>>>>>>> "SELECT u
>>>>>>>>> FROM
>>>>>>>>> User
>>>>>>>>> u WHERE u.userName = :userName"),
>>>>>>>>>         @NamedQuery(name = "User.findByPassword", query =
>>>>>>>>> "SELECT u
>>>>>>>>> FROM
>>>>>>>>> User
>>>>>>>>> u WHERE u.password = :password"),
>>>>>>>>>         @NamedQuery(name = "User.findByEmail", query = "SELECT
>>>>>>>>> u FROM
>>>>>>>>> User u
>>>>>>>>> WHERE u.email = :email"),
>>>>>>>>>         @NamedQuery(name = "User.findByFirstName", query =
>>>>>>>>> "SELECT u
>>>>>>>>> FROM
>>>>>>>>> User
>>>>>>>>> u WHERE u.firstName = :firstName"),
>>>>>>>>>         @NamedQuery(name = "User.findByLastName", query =
>>>>>>>>> "SELECT u
>>>>>>>>> FROM
>>>>>>>>> User
>>>>>>>>> u WHERE u.lastName = :lastName"),
>>>>>>>>>         @NamedQuery(name = "User.findByLoginFailures", query =
>>>>>>>>> "SELECT u
>>>>>>>>> FROM
>>>>>>>>> User u WHERE u.loginFailures = :loginFailures"),
>>>>>>>>>         @NamedQuery(name = "User.findByLastLoginFailure", query =
>>>>>>>>> "SELECT u
>>>>>>>>> FROM User u WHERE u.lastLoginFailure = :lastLoginFailure")})
>>>>>>>>> public class User implements Serializable {
>>>>>>>>>         private static final long serialVersionUID = 1L;
>>>>>>>>>         @Id
>>>>>>>>>         @GeneratedValue(strategy = GenerationType.IDENTITY)
>>>>>>>>>         @Basic(optional = false)
>>>>>>>>>         @Column(name = "user_id")
>>>>>>>>>         private Integer userId;
>>>>>>>>>         @Basic(optional = false)
>>>>>>>>>         @Column(name = "user_name")
>>>>>>>>>         private String userName;
>>>>>>>>>         @Basic(optional = false)
>>>>>>>>>         @Column(name = "password")
>>>>>>>>>         private String password;
>>>>>>>>>         @Column(name = "email")
>>>>>>>>>         private String email;
>>>>>>>>>         @Column(name = "first_name")
>>>>>>>>>         private String firstName;
>>>>>>>>>         @Column(name = "last_name")
>>>>>>>>>         private String lastName;
>>>>>>>>>         @Column(name = "login_failures")
>>>>>>>>>         private Integer loginFailures;
>>>>>>>>>         @Column(name = "last_login_failure")
>>>>>>>>>         @Temporal(TemporalType.********TIMESTAMP)
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>         private Date lastLoginFailure;
>>>>>>>>>         @JoinColumn(name = "associated_customer",
>>>>>>>>> referencedColumnName =
>>>>>>>>> "customer_id")
>>>>>>>>>         @ManyToOne
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On 7/8/2012 3:25 PM, Romain Manni-Bucau wrote:
>>>>>>>>>
>>>>>>>>>     Hi,
>>>>>>>>>
>>>>>>>>>   any entity listener playing with id or special field on User
>>>>>>>>> entity?
>>>>>>>>>> - Romain
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> 2012/7/8 David Nordahl<da...@thinkology.org>
>>>>>>>>>>
>>>>>>>>>>      I'm attempting the code:
>>>>>>>>>>
>>>>>>>>>>    Properties properties = new Properties();
>>>>>>>>>>
>>>>>>>>>>> properties.setProperty(**********Context.INITIAL_CONTEXT_*******
>>>>>>>>>>> ***
>>>>>>>>>>> FACTORY,
>>>>>>>>>>> "org.apache.openejb.client.************
>>>>>>>>>>> LocalInitialContextFactory"**)**;
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> InitialContext initialContext = new InitialContext(properties);
>>>>>>>>>>> Object object = initialContext.lookup("*********
>>>>>>>>>>> *UserFacadeLocal");
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> UserFacadeLocal userFacade = (UserFacadeLocal) object;
>>>>>>>>>>> User newuser = new User();
>>>>>>>>>>> newuser.setEmail("cow@cow.moo"**********);
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> newuser.setUserName("steve");
>>>>>>>>>>> newuser.setPassword("cows");
>>>>>>>>>>> userFacade.create(newuser);
>>>>>>>>>>>
>>>>>>>>>>> but keep getting "org.apache.openjpa.**********persistence.****
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> InvalidStateException:
>>>>>>>>>>>
>>>>>>>>>>> Detected reentrant flush.  Make sure your flush-time instance
>>>>>>>>>>> callback
>>>>>>>>>>> methods or event listeners do not invoke any operations that
>>>>>>>>>>> require
>>>>>>>>>>> the
>>>>>>>>>>> in-progress flush to complete."
>>>>>>>>>>>
>>>>>>>>>>> I tried setting "openjpa.FlushBeforeQueries" to false just to
>>>>>>>>>>> see
>>>>>>>>>>> if
>>>>>>>>>>> I
>>>>>>>>>>> can
>>>>>>>>>>> get the error to go away, but it makes no difference.  I can't
>>>>>>>>>>> find a
>>>>>>>>>>> flush() call in my project and according to the table in the
>>>>>>>>>>> docs,
>>>>>>>>>>> flush
>>>>>>>>>>> is
>>>>>>>>>>> not called if this parameter is set.  What am I not doing
>>>>>>>>>>> correctly
>>>>>>>>>>> here?
>>>>>>>>>>>
>>>>>>>>>>> Thank you,
>>>>>>>>>>> David
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>


Re: Detected Reentrant Flush - Trouble with merge / update

Posted by Romain Manni-Bucau <rm...@gmail.com>.
UserFacace {
   Entitymanager em;
  edit(User u) {
     em.find(User.class, u.getId());
     // do you update here, not before
  }
}
- Romain


2012/7/10 David Nordahl <da...@thinkology.org>

> I got it running on the snap shot version, and that did away with those
> four startup exceptions.  I still get the error below though.. Is this
> added line to get the email address what you mean by doing a find on the
> ejb?
>
> String currentEmail = result.getEmail();
> result.setEmail("meow@meow.cat**");
> userFacade.edit(result);
>
>
>
>
> On 7/9/2012 12:15 PM, Romain Manni-Bucau wrote:
>
>> maybe try a find in your ejb before the merge to let you rentity be
>> managed
>> and to be allowed to merge.
>>
>> FYI the snapshot is not the beta-3 but the 1.1.0-SNAPSHOT.
>>
>> - Romain
>>
>>
>> 2012/7/9 David Nordahl<da...@thinkology.org>
>>
>>  I looked at it again today, and it looks like it is not deploying on the
>>> beta3 version for some reason, but I don't see any errors or attempts in
>>> the log.  I will look at it more later, but for now I would like to try
>>> to
>>> work around any issues with the last production release if possible.
>>>
>>> I can now get queries and inserts to work, but am having trouble with the
>>> updates.  It looks like it is also related to auto-increment/generated
>>> key
>>> stuff.  Perhaps the way I'm going about it is incorrect:
>>>
>>> Properties properties = new Properties();
>>> properties.setProperty(****Context.INITIAL_CONTEXT_****FACTORY,
>>> "org.apache.openejb.client.****LocalInitialContextFactory");
>>>
>>> InitialContext initialContext = new InitialContext(properties);
>>> Object object = initialContext.lookup("****UserFacadeLocal");
>>>
>>> UserFacadeLocal userFacade = (UserFacadeLocal) object;
>>> EntityManager em = userFacade.getEntityManager();
>>> Query query = em.createNamedQuery("User.****findByUserName");
>>>
>>> query.setParameter("userName", "admin");
>>> User result;
>>> try {
>>>      result = (User) query.getSingleResult();
>>> } catch (NoResultException e) {
>>>      result = null;
>>> }
>>> result.setEmail("meow@meow.cat****");
>>>
>>> userFacade.edit(result);
>>>
>>> I get the error:
>>>
>>> "Primary key field com.iball.server.entities.****User.userId of
>>> com.iball.server.entities.****User@64def7 has non-default value. The
>>>
>>> instance life cycle is in PNewState state and hence an existing
>>> non-default
>>> value for the identity field is not permitted. You either need to remove
>>> the @GeneratedValue annotation or modify the code to remove the
>>> initializer
>>> processing."
>>>
>>> The generated value annotation present is:
>>>
>>> @Id
>>> @GeneratedValue(strategy = GenerationType.IDENTITY)
>>> @Basic
>>> @Column(name = "user_id")
>>> private Integer userId;
>>>
>>> I also tried GenerationType.AUTO and removing the auto increment setting
>>> on the DB but it didn't help
>>>
>>> The userFacade.edit(result) method is calling getEntityManager().merge(**
>>>
>>> entity);
>>>
>>>
>>>
>>> On 7/9/2012 12:11 AM, Romain Manni-Bucau wrote:
>>>
>>>  You should at least share your logs or (better) a sample otherwise
>>>> helping
>>>> you is hard. Generally it is faster than 'trying' things.
>>>>
>>>> - Romun
>>>> Le 9 juil. 2012 03:20, "David Nordahl"<da...@thinkology.org>   a écrit
>>>> :
>>>>
>>>>   Tried the snap shot.. I get an error in Netbeans saying that it can't
>>>>
>>>>> deploy the app and to check the server log, yet the server log has no
>>>>> errors and shows the app deploying successfully yet I cannot open the
>>>>> web
>>>>> host in the browser.  I give up... I could have written all the middle
>>>>> ware
>>>>> needed for this project myself by now.  Thanks for your efforts.
>>>>>
>>>>> On 7/8/2012 4:56 PM, Romain Manni-Bucau wrote:
>>>>>
>>>>>   hmm
>>>>>
>>>>>> you use tomee 1.0.0
>>>>>>
>>>>>> can you give it a try to the snapshot please? we worked a bit on
>>>>>> netbeans
>>>>>> integration.
>>>>>>
>>>>>> - Romain
>>>>>>
>>>>>>
>>>>>> 2012/7/8 David Nordahl<da...@thinkology.org>
>>>>>>
>>>>>>    Btw.. Is it normal to have these exceptions on startup?  I saw
>>>>>> another
>>>>>>
>>>>>>  post saying they were, but I thought I might double check.  I seem to
>>>>>>> be
>>>>>>> able to query through open EJB, but not update and add.  I'm also
>>>>>>> wondering
>>>>>>> if there is anyway that the reentrant flush error is covering up
>>>>>>> another
>>>>>>> error.  I guess I can start working on a test case.. I wish I could
>>>>>>> just
>>>>>>> find a netbeans JSP2.0/EJB/TomEE sample project where everything was
>>>>>>> already setup correctly.
>>>>>>>
>>>>>>> SEVERE: Error in safeBind method
>>>>>>> javax.naming.********NameNotFoundException: Name [openejb] is not
>>>>>>> bound
>>>>>>>
>>>>>>> in
>>>>>>> this
>>>>>>> Context. Unable to find [openejb].
>>>>>>>        at org.apache.naming.********NamingContext.lookup(****
>>>>>>> NamingContext.java:820)
>>>>>>>        at org.apache.naming.********NamingContext.lookup(****
>>>>>>> NamingContext.java:168)
>>>>>>>        at org.apache.tomee.catalina.********
>>>>>>> TomcatWebAppBuilder.safeBind(********
>>>>>>> TomcatWebAppBuilder.java:1196)
>>>>>>>        at org.apache.tomee.catalina.********TomcatWebAppBuilder.****
>>>>>>> afterStart(**
>>>>>>> TomcatWebAppBuilder.java:776)
>>>>>>>        at org.apache.tomee.catalina.******
>>>>>>> **GlobalListenerSupport.****
>>>>>>> lifecycleEvent(
>>>>>>> **GlobalListenerSupport.java:********103)
>>>>>>>        at org.apache.catalina.util.********LifecycleSupport.****
>>>>>>> fireLifecycleEvent(**
>>>>>>> LifecycleSupport.java:119)
>>>>>>>        at org.apache.catalina.util.********LifecycleBase.****
>>>>>>> fireLifecycleEvent(**
>>>>>>> LifecycleBase.java:90)
>>>>>>>        at org.apache.catalina.util.********LifecycleBase.****
>>>>>>> setStateInternal(**
>>>>>>> LifecycleBase.java:401)
>>>>>>>        at org.apache.catalina.util.********LifecycleBase.start(**
>>>>>>> LifecycleBase.java:168)
>>>>>>>        at org.apache.catalina.core.********ContainerBase.****
>>>>>>> addChildInternal(**
>>>>>>> ContainerBase.java:895)
>>>>>>>        at org.apache.catalina.core.********ContainerBase.addChild(**
>>>>>>> ContainerBase.java:871)
>>>>>>>        at org.apache.catalina.core.********StandardHost.addChild(**
>>>>>>> StandardHost.java:615)
>>>>>>>        at org.apache.catalina.startup.******
>>>>>>> **HostConfig.deployDescriptor(******
>>>>>>> HostConfig.java:649)
>>>>>>>        at org.apache.catalina.startup.****
>>>>>>> ****HostConfig.deployApps(**
>>>>>>> HostConfig.java:530)
>>>>>>>        at org.apache.catalina.startup.******
>>>>>>> **HostConfig.check(HostConfig.******
>>>>>>> java:1471)
>>>>>>>        at sun.reflect.********NativeMethodAccessorImpl.********
>>>>>>> invoke0(Native
>>>>>>> Method)
>>>>>>>        at sun.reflect.********NativeMethodAccessorImpl.*******
>>>>>>> *invoke(**
>>>>>>> NativeMethodAccessorImpl.java:********57)
>>>>>>>        at sun.reflect.********DelegatingMethodAccessorImpl.*****
>>>>>>> ***invoke(**
>>>>>>> DelegatingMethodAccessorImpl.********java:43)
>>>>>>>        at java.lang.reflect.Method.********invoke(Method.java:601)
>>>>>>>        at org.apache.tomcat.util.********
>>>>>>> modeler.BaseModelMBean.invoke(****
>>>>>>> ****
>>>>>>> BaseModelMBean.java:301)
>>>>>>>        at com.sun.jmx.interceptor.********
>>>>>>> DefaultMBeanServerInterceptor.***
>>>>>>> ***
>>>>>>> **invoke(**
>>>>>>> DefaultMBeanServerInterceptor.********java:819)
>>>>>>>        at com.sun.jmx.mbeanserver.********JmxMBeanServer.invoke(**
>>>>>>> JmxMBeanServer.java:791)
>>>>>>>        at org.apache.catalina.manager.****
>>>>>>> ****ManagerServlet.check(**
>>>>>>> ManagerServlet.java:1436)
>>>>>>>        at org.apache.catalina.manager.****
>>>>>>> ****ManagerServlet.deploy(**
>>>>>>> ManagerServlet.java:856)
>>>>>>>        at org.apache.catalina.manager.****
>>>>>>> ****ManagerServlet.doGet(**
>>>>>>> ManagerServlet.java:353)
>>>>>>>        at javax.servlet.http.********HttpServlet.service(****
>>>>>>> HttpServlet.java:621)
>>>>>>>        at javax.servlet.http.********HttpServlet.service(****
>>>>>>> HttpServlet.java:722)
>>>>>>>        at org.apache.catalina.core.********ApplicationFilterChain.**
>>>>>>> internalDoFilter(********ApplicationFilterChain.java:********305)
>>>>>>>        at org.apache.catalina.core.*******
>>>>>>> *ApplicationFilterChain.****
>>>>>>> doFilter(**
>>>>>>> ApplicationFilterChain.java:********210)
>>>>>>>        at org.apache.catalina.filters.******
>>>>>>> **SetCharacterEncodingFilter.******
>>>>>>> doFilter(********SetCharacterEncodingFilter.********java:108)
>>>>>>>        at org.apache.catalina.core.********ApplicationFilterChain.**
>>>>>>> internalDoFilter(********ApplicationFilterChain.java:********243)
>>>>>>>        at org.apache.catalina.core.*******
>>>>>>> *ApplicationFilterChain.****
>>>>>>> doFilter(**
>>>>>>> ApplicationFilterChain.java:********210)
>>>>>>>        at org.apache.catalina.core.*******
>>>>>>> *StandardWrapperValve.invoke(****
>>>>>>> StandardWrapperValve.java:225)
>>>>>>>        at org.apache.catalina.core.*******
>>>>>>> *StandardContextValve.invoke(****
>>>>>>> StandardContextValve.java:169)
>>>>>>>        at org.apache.tomee.catalina.********OpenEJBValve.invoke(**
>>>>>>> OpenEJBValve.java:44)
>>>>>>>        at org.apache.catalina.********authenticator.****
>>>>>>> AuthenticatorBase.invoke(**
>>>>>>> AuthenticatorBase.java:581)
>>>>>>>        at org.apache.catalina.core.*******
>>>>>>> *StandardHostValve.invoke(**
>>>>>>> StandardHostValve.java:168)
>>>>>>>        at org.apache.catalina.valves.*****
>>>>>>> ***ErrorReportValve.invoke(**
>>>>>>> ErrorReportValve.java:98)
>>>>>>>        at org.apache.catalina.valves.*****
>>>>>>> ***AccessLogValve.invoke(**
>>>>>>> AccessLogValve.java:927)
>>>>>>>        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:********999)
>>>>>>>        at org.apache.coyote.********AbstractProtocol$****
>>>>>>> AbstractConnectionHandler.**
>>>>>>> process(AbstractProtocol.java:********565)
>>>>>>>        at org.apache.tomcat.util.net.*******
>>>>>>> *JIoEndpoint$SocketProcessor.******
>>>>>>> run(JIoEndpoint.java:309)
>>>>>>>        at java.util.concurrent.********
>>>>>>> ThreadPoolExecutor.runWorker(*****
>>>>>>> ***
>>>>>>> ThreadPoolExecutor.java:1110)
>>>>>>>        at java.util.concurrent.********
>>>>>>> ThreadPoolExecutor$Worker.run(****
>>>>>>> ****
>>>>>>> ThreadPoolExecutor.java:603)
>>>>>>>        at java.lang.Thread.run(Thread.********java:722)
>>>>>>>
>>>>>>>
>>>>>>> Jul 08, 2012 4:40:06 PM org.apache.tomee.catalina.****
>>>>>>> TomcatWebAppBuilder
>>>>>>> safeBind
>>>>>>> INFO: TransactionManager already bound, ignoring
>>>>>>> Jul 08, 2012 4:40:06 PM org.apache.tomee.catalina.****
>>>>>>> TomcatWebAppBuilder
>>>>>>> safeBind
>>>>>>> INFO: TransactionSynchronizationRegi********stry already bound,
>>>>>>> ignoring
>>>>>>>
>>>>>>> Jul 08, 2012 4:40:06 PM org.apache.tomee.catalina.****
>>>>>>> TomcatWebAppBuilder
>>>>>>> safeBind
>>>>>>> SEVERE: Error in safeBind method
>>>>>>> javax.naming.********NameNotFoundException: No ORB registered with
>>>>>>> the
>>>>>>> OpenEJB
>>>>>>> system
>>>>>>>        at org.apache.openejb.core.ivm.********naming.****
>>>>>>> SystemComponentReference.**
>>>>>>> getObject(********SystemComponentReference.java:********38)
>>>>>>>        at org.apache.openejb.core.ivm.******
>>>>>>> **naming.Reference.getContent(******
>>>>>>> Reference.java:40)
>>>>>>>        at org.apache.xbean.naming.********
>>>>>>> reference.SimpleReference$**
>>>>>>> SimpleObjectFactory.********getObjectInstance(******
>>>>>>> SimpleReference.java:137)
>>>>>>>        at javax.naming.spi.********NamingManager.******
>>>>>>> getObjectInstance(**
>>>>>>> NamingManager.java:321)
>>>>>>>        at org.apache.naming.********NamingContext.lookup(****
>>>>>>> NamingContext.java:843)
>>>>>>>        at org.apache.naming.********NamingContext.lookup(****
>>>>>>> NamingContext.java:168)
>>>>>>>        at org.apache.tomee.catalina.********
>>>>>>> TomcatWebAppBuilder.safeBind(********
>>>>>>> TomcatWebAppBuilder.java:1196)
>>>>>>>        at org.apache.tomee.catalina.********TomcatWebAppBuilder.****
>>>>>>> afterStart(**
>>>>>>> TomcatWebAppBuilder.java:806)
>>>>>>>        at org.apache.tomee.catalina.******
>>>>>>> **GlobalListenerSupport.****
>>>>>>> lifecycleEvent(
>>>>>>> **GlobalListenerSupport.java:********103)
>>>>>>>        at org.apache.catalina.util.********LifecycleSupport.****
>>>>>>> fireLifecycleEvent(**
>>>>>>> LifecycleSupport.java:119)
>>>>>>>        at org.apache.catalina.util.********LifecycleBase.****
>>>>>>> fireLifecycleEvent(**
>>>>>>> LifecycleBase.java:90)
>>>>>>>        at org.apache.catalina.util.********LifecycleBase.****
>>>>>>> setStateInternal(**
>>>>>>> LifecycleBase.java:401)
>>>>>>>        at org.apache.catalina.util.********LifecycleBase.start(**
>>>>>>> LifecycleBase.java:168)
>>>>>>>        at org.apache.catalina.core.********ContainerBase.****
>>>>>>> addChildInternal(**
>>>>>>> ContainerBase.java:895)
>>>>>>>        at org.apache.catalina.core.********ContainerBase.addChild(**
>>>>>>> ContainerBase.java:871)
>>>>>>>        at org.apache.catalina.core.********StandardHost.addChild(**
>>>>>>> StandardHost.java:615)
>>>>>>>        at org.apache.catalina.startup.******
>>>>>>> **HostConfig.deployDescriptor(******
>>>>>>> HostConfig.java:649)
>>>>>>>        at org.apache.catalina.startup.****
>>>>>>> ****HostConfig.deployApps(**
>>>>>>> HostConfig.java:530)
>>>>>>>        at org.apache.catalina.startup.******
>>>>>>> **HostConfig.check(HostConfig.******
>>>>>>> java:1471)
>>>>>>>        at sun.reflect.********NativeMethodAccessorImpl.********
>>>>>>> invoke0(Native
>>>>>>> Method)
>>>>>>>        at sun.reflect.********NativeMethodAccessorImpl.*******
>>>>>>> *invoke(**
>>>>>>> NativeMethodAccessorImpl.java:********57)
>>>>>>>        at sun.reflect.********DelegatingMethodAccessorImpl.*****
>>>>>>> ***invoke(**
>>>>>>> DelegatingMethodAccessorImpl.********java:43)
>>>>>>>        at java.lang.reflect.Method.********invoke(Method.java:601)
>>>>>>>        at org.apache.tomcat.util.********
>>>>>>> modeler.BaseModelMBean.invoke(****
>>>>>>> ****
>>>>>>> BaseModelMBean.java:301)
>>>>>>>        at com.sun.jmx.interceptor.********
>>>>>>> DefaultMBeanServerInterceptor.***
>>>>>>> ***
>>>>>>> **invoke(**
>>>>>>> DefaultMBeanServerInterceptor.********java:819)
>>>>>>>        at com.sun.jmx.mbeanserver.********JmxMBeanServer.invoke(**
>>>>>>> JmxMBeanServer.java:791)
>>>>>>>        at org.apache.catalina.manager.****
>>>>>>> ****ManagerServlet.check(**
>>>>>>> ManagerServlet.java:1436)
>>>>>>>        at org.apache.catalina.manager.****
>>>>>>> ****ManagerServlet.deploy(**
>>>>>>> ManagerServlet.java:856)
>>>>>>>        at org.apache.catalina.manager.****
>>>>>>> ****ManagerServlet.doGet(**
>>>>>>> ManagerServlet.java:353)
>>>>>>>        at javax.servlet.http.********HttpServlet.service(****
>>>>>>> HttpServlet.java:621)
>>>>>>>        at javax.servlet.http.********HttpServlet.service(****
>>>>>>> HttpServlet.java:722)
>>>>>>>        at org.apache.catalina.core.********ApplicationFilterChain.**
>>>>>>> internalDoFilter(********ApplicationFilterChain.java:********305)
>>>>>>>        at org.apache.catalina.core.*******
>>>>>>> *ApplicationFilterChain.****
>>>>>>> doFilter(**
>>>>>>> ApplicationFilterChain.java:********210)
>>>>>>>        at org.apache.catalina.filters.******
>>>>>>> **SetCharacterEncodingFilter.******
>>>>>>> doFilter(********SetCharacterEncodingFilter.********java:108)
>>>>>>>        at org.apache.catalina.core.********ApplicationFilterChain.**
>>>>>>> internalDoFilter(********ApplicationFilterChain.java:********243)
>>>>>>>        at org.apache.catalina.core.*******
>>>>>>> *ApplicationFilterChain.****
>>>>>>> doFilter(**
>>>>>>> ApplicationFilterChain.java:********210)
>>>>>>>        at org.apache.catalina.core.*******
>>>>>>> *StandardWrapperValve.invoke(****
>>>>>>> StandardWrapperValve.java:225)
>>>>>>>        at org.apache.catalina.core.*******
>>>>>>> *StandardContextValve.invoke(****
>>>>>>> StandardContextValve.java:169)
>>>>>>>        at org.apache.tomee.catalina.********OpenEJBValve.invoke(**
>>>>>>> OpenEJBValve.java:44)
>>>>>>>        at org.apache.catalina.********authenticator.****
>>>>>>> AuthenticatorBase.invoke(**
>>>>>>> AuthenticatorBase.java:581)
>>>>>>>        at org.apache.catalina.core.*******
>>>>>>> *StandardHostValve.invoke(**
>>>>>>> StandardHostValve.java:168)
>>>>>>>        at org.apache.catalina.valves.*****
>>>>>>> ***ErrorReportValve.invoke(**
>>>>>>> ErrorReportValve.java:98)
>>>>>>>        at org.apache.catalina.valves.*****
>>>>>>> ***AccessLogValve.invoke(**
>>>>>>> AccessLogValve.java:927)
>>>>>>>        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:********999)
>>>>>>>        at org.apache.coyote.********AbstractProtocol$****
>>>>>>> AbstractConnectionHandler.**
>>>>>>> process(AbstractProtocol.java:********565)
>>>>>>>        at org.apache.tomcat.util.net.*******
>>>>>>> *JIoEndpoint$SocketProcessor.******
>>>>>>> run(JIoEndpoint.java:309)
>>>>>>>        at java.util.concurrent.********
>>>>>>> ThreadPoolExecutor.runWorker(*****
>>>>>>> ***
>>>>>>> ThreadPoolExecutor.java:1110)
>>>>>>>        at java.util.concurrent.********
>>>>>>> ThreadPoolExecutor$Worker.run(****
>>>>>>> ****
>>>>>>> ThreadPoolExecutor.java:603)
>>>>>>>        at java.lang.Thread.run(Thread.********java:722)
>>>>>>>
>>>>>>>
>>>>>>> Jul 08, 2012 4:40:43 PM org.apache.tomee.catalina.****
>>>>>>> TomcatWebAppBuilder
>>>>>>> safeBind
>>>>>>> SEVERE: Error in safeBind method
>>>>>>> javax.naming.********NameNotFoundException: No HandleDelegate
>>>>>>> registered
>>>>>>> with
>>>>>>> the OpenEJB system
>>>>>>>        at org.apache.openejb.core.ivm.********naming.****
>>>>>>> SystemComponentReference.**
>>>>>>> getObject(********SystemComponentReference.java:********38)
>>>>>>>        at org.apache.openejb.core.ivm.******
>>>>>>> **naming.Reference.getContent(******
>>>>>>> Reference.java:40)
>>>>>>>        at org.apache.xbean.naming.********
>>>>>>> reference.SimpleReference$**
>>>>>>> SimpleObjectFactory.********getObjectInstance(******
>>>>>>> SimpleReference.java:137)
>>>>>>>        at javax.naming.spi.********NamingManager.******
>>>>>>> getObjectInstance(**
>>>>>>> NamingManager.java:321)
>>>>>>>        at org.apache.naming.********NamingContext.lookup(****
>>>>>>> NamingContext.java:843)
>>>>>>>        at org.apache.naming.********NamingContext.lookup(****
>>>>>>> NamingContext.java:168)
>>>>>>>        at org.apache.tomee.catalina.********
>>>>>>> TomcatWebAppBuilder.safeBind(********
>>>>>>> TomcatWebAppBuilder.java:1196)
>>>>>>>        at org.apache.tomee.catalina.********TomcatWebAppBuilder.****
>>>>>>> afterStart(**
>>>>>>> TomcatWebAppBuilder.java:807)
>>>>>>>        at org.apache.tomee.catalina.******
>>>>>>> **GlobalListenerSupport.****
>>>>>>> lifecycleEvent(
>>>>>>> **GlobalListenerSupport.java:********103)
>>>>>>>        at org.apache.catalina.util.********LifecycleSupport.****
>>>>>>> fireLifecycleEvent(**
>>>>>>> LifecycleSupport.java:119)
>>>>>>>        at org.apache.catalina.util.********LifecycleBase.****
>>>>>>> fireLifecycleEvent(**
>>>>>>> LifecycleBase.java:90)
>>>>>>>        at org.apache.catalina.util.********LifecycleBase.****
>>>>>>> setStateInternal(**
>>>>>>> LifecycleBase.java:401)
>>>>>>>        at org.apache.catalina.util.********LifecycleBase.start(**
>>>>>>> LifecycleBase.java:168)
>>>>>>>        at org.apache.catalina.core.********ContainerBase.****
>>>>>>> addChildInternal(**
>>>>>>> ContainerBase.java:895)
>>>>>>>        at org.apache.catalina.core.********ContainerBase.addChild(**
>>>>>>> ContainerBase.java:871)
>>>>>>>        at org.apache.catalina.core.********StandardHost.addChild(**
>>>>>>> StandardHost.java:615)
>>>>>>>        at org.apache.catalina.startup.******
>>>>>>> **HostConfig.deployDescriptor(******
>>>>>>> HostConfig.java:649)
>>>>>>>        at org.apache.catalina.startup.****
>>>>>>> ****HostConfig.deployApps(**
>>>>>>> HostConfig.java:530)
>>>>>>>        at org.apache.catalina.startup.******
>>>>>>> **HostConfig.check(HostConfig.******
>>>>>>> java:1471)
>>>>>>>        at sun.reflect.********NativeMethodAccessorImpl.********
>>>>>>> invoke0(Native
>>>>>>> Method)
>>>>>>>        at sun.reflect.********NativeMethodAccessorImpl.*******
>>>>>>> *invoke(**
>>>>>>> NativeMethodAccessorImpl.java:********57)
>>>>>>>        at sun.reflect.********DelegatingMethodAccessorImpl.*****
>>>>>>> ***invoke(**
>>>>>>> DelegatingMethodAccessorImpl.********java:43)
>>>>>>>        at java.lang.reflect.Method.********invoke(Method.java:601)
>>>>>>>        at org.apache.tomcat.util.********
>>>>>>> modeler.BaseModelMBean.invoke(****
>>>>>>> ****
>>>>>>> BaseModelMBean.java:301)
>>>>>>>        at com.sun.jmx.interceptor.********
>>>>>>> DefaultMBeanServerInterceptor.***
>>>>>>> ***
>>>>>>> **invoke(**
>>>>>>> DefaultMBeanServerInterceptor.********java:819)
>>>>>>>        at com.sun.jmx.mbeanserver.********JmxMBeanServer.invoke(**
>>>>>>> JmxMBeanServer.java:791)
>>>>>>>        at org.apache.catalina.manager.****
>>>>>>> ****ManagerServlet.check(**
>>>>>>> ManagerServlet.java:1436)
>>>>>>>        at org.apache.catalina.manager.****
>>>>>>> ****ManagerServlet.deploy(**
>>>>>>> ManagerServlet.java:856)
>>>>>>>        at org.apache.catalina.manager.****
>>>>>>> ****ManagerServlet.doGet(**
>>>>>>> ManagerServlet.java:353)
>>>>>>>        at javax.servlet.http.********HttpServlet.service(****
>>>>>>> HttpServlet.java:621)
>>>>>>>        at javax.servlet.http.********HttpServlet.service(****
>>>>>>> HttpServlet.java:722)
>>>>>>>        at org.apache.catalina.core.********ApplicationFilterChain.**
>>>>>>> internalDoFilter(********ApplicationFilterChain.java:********305)
>>>>>>>        at org.apache.catalina.core.*******
>>>>>>> *ApplicationFilterChain.****
>>>>>>> doFilter(**
>>>>>>> ApplicationFilterChain.java:********210)
>>>>>>>        at org.apache.catalina.filters.******
>>>>>>> **SetCharacterEncodingFilter.******
>>>>>>> doFilter(********SetCharacterEncodingFilter.********java:108)
>>>>>>>        at org.apache.catalina.core.********ApplicationFilterChain.**
>>>>>>> internalDoFilter(********ApplicationFilterChain.java:********243)
>>>>>>>        at org.apache.catalina.core.*******
>>>>>>> *ApplicationFilterChain.****
>>>>>>> doFilter(**
>>>>>>> ApplicationFilterChain.java:********210)
>>>>>>>        at org.apache.catalina.core.*******
>>>>>>> *StandardWrapperValve.invoke(****
>>>>>>> StandardWrapperValve.java:225)
>>>>>>>        at org.apache.catalina.core.*******
>>>>>>> *StandardContextValve.invoke(****
>>>>>>> StandardContextValve.java:169)
>>>>>>>        at org.apache.tomee.catalina.********OpenEJBValve.invoke(**
>>>>>>> OpenEJBValve.java:44)
>>>>>>>        at org.apache.catalina.********authenticator.****
>>>>>>> AuthenticatorBase.invoke(**
>>>>>>> AuthenticatorBase.java:581)
>>>>>>>        at org.apache.catalina.core.*******
>>>>>>> *StandardHostValve.invoke(**
>>>>>>> StandardHostValve.java:168)
>>>>>>>        at org.apache.catalina.valves.*****
>>>>>>> ***ErrorReportValve.invoke(**
>>>>>>> ErrorReportValve.java:98)
>>>>>>>        at org.apache.catalina.valves.*****
>>>>>>> ***AccessLogValve.invoke(**
>>>>>>> AccessLogValve.java:927)
>>>>>>>        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:********999)
>>>>>>>        at org.apache.coyote.********AbstractProtocol$****
>>>>>>> AbstractConnectionHandler.**
>>>>>>> process(AbstractProtocol.java:********565)
>>>>>>>        at org.apache.tomcat.util.net.*******
>>>>>>> *JIoEndpoint$SocketProcessor.******
>>>>>>> run(JIoEndpoint.java:309)
>>>>>>>        at java.util.concurrent.********
>>>>>>> ThreadPoolExecutor.runWorker(*****
>>>>>>> ***
>>>>>>> ThreadPoolExecutor.java:1110)
>>>>>>>        at java.util.concurrent.********
>>>>>>> ThreadPoolExecutor$Worker.run(****
>>>>>>> ****
>>>>>>> ThreadPoolExecutor.java:603)
>>>>>>>        at java.lang.Thread.run(Thread.********java:722)
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On 7/8/2012 4:32 PM, Romain Manni-Bucau wrote:
>>>>>>>
>>>>>>>    i don't think so,
>>>>>>>
>>>>>>>  can you try moving your code in a unit test to see if it still
>>>>>>>> happen?
>>>>>>>>
>>>>>>>> - Romain
>>>>>>>>
>>>>>>>>
>>>>>>>> 2012/7/8 David Nordahl<da...@thinkology.org>
>>>>>>>>
>>>>>>>>     Could it be the Tomcat JDBCRealm I have enforcing container
>>>>>>>> managed
>>>>>>>>
>>>>>>>>   security from user data in the same table?
>>>>>>>>
>>>>>>>>>
>>>>>>>>> On 7/8/2012 4:14 PM, Romain Manni-Bucau wrote:
>>>>>>>>>
>>>>>>>>>     i can't say no but i'm pretty sure it is something in the
>>>>>>>>> container
>>>>>>>>>
>>>>>>>>>   rather
>>>>>>>>>
>>>>>>>>>> in the DB.
>>>>>>>>>>
>>>>>>>>>> - Romain
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> 2012/7/8 David Nordahl<da...@thinkology.org>
>>>>>>>>>>
>>>>>>>>>>      Maybe the DB settings could have something to do with it? I'm
>>>>>>>>>> using
>>>>>>>>>> MySQL
>>>>>>>>>>
>>>>>>>>>>    with it's default setup which uses InnoDB.  I notice in the
>>>>>>>>>>
>>>>>>>>>>  documentation
>>>>>>>>>>> that "InnoDB, with innodb_flush_log_at_trx_commit set to 1,
>>>>>>>>>>> flushes
>>>>>>>>>>> the
>>>>>>>>>>> transaction log after each transaction, greatly improving
>>>>>>>>>>> reliability."
>>>>>>>>>>>
>>>>>>>>>>> Could some DB setting like this be causing the issue?
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> On 7/8/2012 3:39 PM, Romain Manni-Bucau wrote:
>>>>>>>>>>>
>>>>>>>>>>>      can you share a small sample to reproduce it, will be
>>>>>>>>>>> easier to
>>>>>>>>>>> help
>>>>>>>>>>>
>>>>>>>>>>>    you?
>>>>>>>>>>>
>>>>>>>>>>>  - Romain
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> 2012/7/8 David Nordahl<da...@thinkology.org>
>>>>>>>>>>>>
>>>>>>>>>>>>       Not that I've configured.. Unless one of the annotations
>>>>>>>>>>>> creates
>>>>>>>>>>>> one:
>>>>>>>>>>>>
>>>>>>>>>>>>     @Entity
>>>>>>>>>>>>
>>>>>>>>>>>>   @Table(name = "user")
>>>>>>>>>>>>
>>>>>>>>>>>>> @XmlRootElement
>>>>>>>>>>>>> @NamedQueries({
>>>>>>>>>>>>>           @NamedQuery(name = "User.findAll", query = "SELECT u
>>>>>>>>>>>>> FROM
>>>>>>>>>>>>> User
>>>>>>>>>>>>> u"),
>>>>>>>>>>>>>           @NamedQuery(name = "User.findByUserId", query =
>>>>>>>>>>>>> "SELECT
>>>>>>>>>>>>> u
>>>>>>>>>>>>> FROM
>>>>>>>>>>>>> User
>>>>>>>>>>>>> u
>>>>>>>>>>>>> WHERE u.userId = :userId"),
>>>>>>>>>>>>>           @NamedQuery(name = "User.findByUserName", query =
>>>>>>>>>>>>> "SELECT u
>>>>>>>>>>>>> FROM
>>>>>>>>>>>>> User
>>>>>>>>>>>>> u WHERE u.userName = :userName"),
>>>>>>>>>>>>>           @NamedQuery(name = "User.findByPassword", query =
>>>>>>>>>>>>> "SELECT u
>>>>>>>>>>>>> FROM
>>>>>>>>>>>>> User
>>>>>>>>>>>>> u WHERE u.password = :password"),
>>>>>>>>>>>>>           @NamedQuery(name = "User.findByEmail", query =
>>>>>>>>>>>>> "SELECT u
>>>>>>>>>>>>> FROM
>>>>>>>>>>>>> User u
>>>>>>>>>>>>> WHERE u.email = :email"),
>>>>>>>>>>>>>           @NamedQuery(name = "User.findByFirstName", query =
>>>>>>>>>>>>> "SELECT
>>>>>>>>>>>>> u
>>>>>>>>>>>>> FROM
>>>>>>>>>>>>> User
>>>>>>>>>>>>> u WHERE u.firstName = :firstName"),
>>>>>>>>>>>>>           @NamedQuery(name = "User.findByLastName", query =
>>>>>>>>>>>>> "SELECT u
>>>>>>>>>>>>> FROM
>>>>>>>>>>>>> User
>>>>>>>>>>>>> u WHERE u.lastName = :lastName"),
>>>>>>>>>>>>>           @NamedQuery(name = "User.findByLoginFailures", query
>>>>>>>>>>>>> =
>>>>>>>>>>>>> "SELECT u
>>>>>>>>>>>>> FROM
>>>>>>>>>>>>> User u WHERE u.loginFailures = :loginFailures"),
>>>>>>>>>>>>>           @NamedQuery(name = "User.findByLastLoginFailure",
>>>>>>>>>>>>> query
>>>>>>>>>>>>> =
>>>>>>>>>>>>> "SELECT u
>>>>>>>>>>>>> FROM User u WHERE u.lastLoginFailure = :lastLoginFailure")})
>>>>>>>>>>>>> public class User implements Serializable {
>>>>>>>>>>>>>           private static final long serialVersionUID = 1L;
>>>>>>>>>>>>>           @Id
>>>>>>>>>>>>>           @GeneratedValue(strategy = GenerationType.IDENTITY)
>>>>>>>>>>>>>           @Basic(optional = false)
>>>>>>>>>>>>>           @Column(name = "user_id")
>>>>>>>>>>>>>           private Integer userId;
>>>>>>>>>>>>>           @Basic(optional = false)
>>>>>>>>>>>>>           @Column(name = "user_name")
>>>>>>>>>>>>>           private String userName;
>>>>>>>>>>>>>           @Basic(optional = false)
>>>>>>>>>>>>>           @Column(name = "password")
>>>>>>>>>>>>>           private String password;
>>>>>>>>>>>>>           @Column(name = "email")
>>>>>>>>>>>>>           private String email;
>>>>>>>>>>>>>           @Column(name = "first_name")
>>>>>>>>>>>>>           private String firstName;
>>>>>>>>>>>>>           @Column(name = "last_name")
>>>>>>>>>>>>>           private String lastName;
>>>>>>>>>>>>>           @Column(name = "login_failures")
>>>>>>>>>>>>>           private Integer loginFailures;
>>>>>>>>>>>>>           @Column(name = "last_login_failure")
>>>>>>>>>>>>>           @Temporal(TemporalType.**************TIMESTAMP)
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>           private Date lastLoginFailure;
>>>>>>>>>>>>>           @JoinColumn(name = "associated_customer",
>>>>>>>>>>>>> referencedColumnName =
>>>>>>>>>>>>> "customer_id")
>>>>>>>>>>>>>           @ManyToOne
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> On 7/8/2012 3:25 PM, Romain Manni-Bucau wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>>       Hi,
>>>>>>>>>>>>>
>>>>>>>>>>>>>     any entity listener playing with id or special field on
>>>>>>>>>>>>> User
>>>>>>>>>>>>> entity?
>>>>>>>>>>>>>
>>>>>>>>>>>>>   - Romain
>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> 2012/7/8 David Nordahl<da...@thinkology.org>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>        I'm attempting the code:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>      Properties properties = new Properties();
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>    properties.setProperty(***********
>>>>>>>>>>>>>> *****Context.INITIAL_CONTEXT_*********
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>  ****
>>>>>>>>>>>>>>> ***
>>>>>>>>>>>>>>> FACTORY,
>>>>>>>>>>>>>>> "org.apache.openejb.client.******************
>>>>>>>>>>>>>>> LocalInitialContextFactory"**)********;
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> InitialContext initialContext = new
>>>>>>>>>>>>>>> InitialContext(properties);
>>>>>>>>>>>>>>> Object object = initialContext.lookup("***************
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> *UserFacadeLocal");
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> UserFacadeLocal userFacade = (UserFacadeLocal) object;
>>>>>>>>>>>>>>> User newuser = new User();
>>>>>>>>>>>>>>> newuser.setEmail("cow@cow.moo"****************);
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> newuser.setUserName("steve");
>>>>>>>>>>>>>>> newuser.setPassword("cows");
>>>>>>>>>>>>>>> userFacade.create(newuser);
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> but keep getting "org.apache.openjpa.****************
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> persistence.****
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> InvalidStateException:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Detected reentrant flush.  Make sure your flush-time instance
>>>>>>>>>>>>>>> callback
>>>>>>>>>>>>>>> methods or event listeners do not invoke any operations that
>>>>>>>>>>>>>>> require
>>>>>>>>>>>>>>> the
>>>>>>>>>>>>>>> in-progress flush to complete."
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> I tried setting "openjpa.FlushBeforeQueries" to false just to
>>>>>>>>>>>>>>> see
>>>>>>>>>>>>>>> if
>>>>>>>>>>>>>>> I
>>>>>>>>>>>>>>> can
>>>>>>>>>>>>>>> get the error to go away, but it makes no difference.  I
>>>>>>>>>>>>>>> can't
>>>>>>>>>>>>>>> find a
>>>>>>>>>>>>>>> flush() call in my project and according to the table in the
>>>>>>>>>>>>>>> docs,
>>>>>>>>>>>>>>> flush
>>>>>>>>>>>>>>> is
>>>>>>>>>>>>>>> not called if this parameter is set.  What am I not doing
>>>>>>>>>>>>>>> correctly
>>>>>>>>>>>>>>> here?
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Thank you,
>>>>>>>>>>>>>>> David
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>

Re: Detected Reentrant Flush - Trouble with merge / update

Posted by David Nordahl <da...@thinkology.org>.
I got it running on the snap shot version, and that did away with those 
four startup exceptions.  I still get the error below though.. Is this 
added line to get the email address what you mean by doing a find on the 
ejb?

String currentEmail = result.getEmail();
result.setEmail("meow@meow.cat");
userFacade.edit(result);



On 7/9/2012 12:15 PM, Romain Manni-Bucau wrote:
> maybe try a find in your ejb before the merge to let you rentity be managed
> and to be allowed to merge.
>
> FYI the snapshot is not the beta-3 but the 1.1.0-SNAPSHOT.
>
> - Romain
>
>
> 2012/7/9 David Nordahl<da...@thinkology.org>
>
>> I looked at it again today, and it looks like it is not deploying on the
>> beta3 version for some reason, but I don't see any errors or attempts in
>> the log.  I will look at it more later, but for now I would like to try to
>> work around any issues with the last production release if possible.
>>
>> I can now get queries and inserts to work, but am having trouble with the
>> updates.  It looks like it is also related to auto-increment/generated key
>> stuff.  Perhaps the way I'm going about it is incorrect:
>>
>> Properties properties = new Properties();
>> properties.setProperty(**Context.INITIAL_CONTEXT_**FACTORY,
>> "org.apache.openejb.client.**LocalInitialContextFactory");
>> InitialContext initialContext = new InitialContext(properties);
>> Object object = initialContext.lookup("**UserFacadeLocal");
>> UserFacadeLocal userFacade = (UserFacadeLocal) object;
>> EntityManager em = userFacade.getEntityManager();
>> Query query = em.createNamedQuery("User.**findByUserName");
>> query.setParameter("userName", "admin");
>> User result;
>> try {
>>      result = (User) query.getSingleResult();
>> } catch (NoResultException e) {
>>      result = null;
>> }
>> result.setEmail("meow@meow.cat**");
>> userFacade.edit(result);
>>
>> I get the error:
>>
>> "Primary key field com.iball.server.entities.**User.userId of
>> com.iball.server.entities.**User@64def7 has non-default value. The
>> instance life cycle is in PNewState state and hence an existing non-default
>> value for the identity field is not permitted. You either need to remove
>> the @GeneratedValue annotation or modify the code to remove the initializer
>> processing."
>>
>> The generated value annotation present is:
>>
>> @Id
>> @GeneratedValue(strategy = GenerationType.IDENTITY)
>> @Basic
>> @Column(name = "user_id")
>> private Integer userId;
>>
>> I also tried GenerationType.AUTO and removing the auto increment setting
>> on the DB but it didn't help
>>
>> The userFacade.edit(result) method is calling getEntityManager().merge(**
>> entity);
>>
>>
>>
>> On 7/9/2012 12:11 AM, Romain Manni-Bucau wrote:
>>
>>> You should at least share your logs or (better) a sample otherwise helping
>>> you is hard. Generally it is faster than 'trying' things.
>>>
>>> - Romun
>>> Le 9 juil. 2012 03:20, "David Nordahl"<da...@thinkology.org>   a écrit :
>>>
>>>   Tried the snap shot.. I get an error in Netbeans saying that it can't
>>>> deploy the app and to check the server log, yet the server log has no
>>>> errors and shows the app deploying successfully yet I cannot open the web
>>>> host in the browser.  I give up... I could have written all the middle
>>>> ware
>>>> needed for this project myself by now.  Thanks for your efforts.
>>>>
>>>> On 7/8/2012 4:56 PM, Romain Manni-Bucau wrote:
>>>>
>>>>   hmm
>>>>> you use tomee 1.0.0
>>>>>
>>>>> can you give it a try to the snapshot please? we worked a bit on
>>>>> netbeans
>>>>> integration.
>>>>>
>>>>> - Romain
>>>>>
>>>>>
>>>>> 2012/7/8 David Nordahl<da...@thinkology.org>
>>>>>
>>>>>    Btw.. Is it normal to have these exceptions on startup?  I saw another
>>>>>
>>>>>> post saying they were, but I thought I might double check.  I seem to
>>>>>> be
>>>>>> able to query through open EJB, but not update and add.  I'm also
>>>>>> wondering
>>>>>> if there is anyway that the reentrant flush error is covering up
>>>>>> another
>>>>>> error.  I guess I can start working on a test case.. I wish I could
>>>>>> just
>>>>>> find a netbeans JSP2.0/EJB/TomEE sample project where everything was
>>>>>> already setup correctly.
>>>>>>
>>>>>> SEVERE: Error in safeBind method
>>>>>> javax.naming.******NameNotFoundException: Name [openejb] is not bound
>>>>>> in
>>>>>> this
>>>>>> Context. Unable to find [openejb].
>>>>>>        at org.apache.naming.******NamingContext.lookup(****
>>>>>> NamingContext.java:820)
>>>>>>        at org.apache.naming.******NamingContext.lookup(****
>>>>>> NamingContext.java:168)
>>>>>>        at org.apache.tomee.catalina.******
>>>>>> TomcatWebAppBuilder.safeBind(******
>>>>>> TomcatWebAppBuilder.java:1196)
>>>>>>        at org.apache.tomee.catalina.******TomcatWebAppBuilder.****
>>>>>> afterStart(**
>>>>>> TomcatWebAppBuilder.java:776)
>>>>>>        at org.apache.tomee.catalina.******GlobalListenerSupport.****
>>>>>> lifecycleEvent(
>>>>>> **GlobalListenerSupport.java:******103)
>>>>>>        at org.apache.catalina.util.******LifecycleSupport.****
>>>>>> fireLifecycleEvent(**
>>>>>> LifecycleSupport.java:119)
>>>>>>        at org.apache.catalina.util.******LifecycleBase.****
>>>>>> fireLifecycleEvent(**
>>>>>> LifecycleBase.java:90)
>>>>>>        at org.apache.catalina.util.******LifecycleBase.****
>>>>>> setStateInternal(**
>>>>>> LifecycleBase.java:401)
>>>>>>        at org.apache.catalina.util.******LifecycleBase.start(**
>>>>>> LifecycleBase.java:168)
>>>>>>        at org.apache.catalina.core.******ContainerBase.****
>>>>>> addChildInternal(**
>>>>>> ContainerBase.java:895)
>>>>>>        at org.apache.catalina.core.******ContainerBase.addChild(**
>>>>>> ContainerBase.java:871)
>>>>>>        at org.apache.catalina.core.******StandardHost.addChild(**
>>>>>> StandardHost.java:615)
>>>>>>        at org.apache.catalina.startup.****
>>>>>> **HostConfig.deployDescriptor(****
>>>>>> HostConfig.java:649)
>>>>>>        at org.apache.catalina.startup.******HostConfig.deployApps(**
>>>>>> HostConfig.java:530)
>>>>>>        at org.apache.catalina.startup.****
>>>>>> **HostConfig.check(HostConfig.****
>>>>>> java:1471)
>>>>>>        at sun.reflect.******NativeMethodAccessorImpl.******
>>>>>> invoke0(Native
>>>>>> Method)
>>>>>>        at sun.reflect.******NativeMethodAccessorImpl.******invoke(**
>>>>>> NativeMethodAccessorImpl.java:******57)
>>>>>>        at sun.reflect.******DelegatingMethodAccessorImpl.***
>>>>>> ***invoke(**
>>>>>> DelegatingMethodAccessorImpl.******java:43)
>>>>>>        at java.lang.reflect.Method.******invoke(Method.java:601)
>>>>>>        at org.apache.tomcat.util.******modeler.BaseModelMBean.invoke(**
>>>>>> ****
>>>>>> BaseModelMBean.java:301)
>>>>>>        at com.sun.jmx.interceptor.******DefaultMBeanServerInterceptor.*
>>>>>> ***
>>>>>> **invoke(**
>>>>>> DefaultMBeanServerInterceptor.******java:819)
>>>>>>        at com.sun.jmx.mbeanserver.******JmxMBeanServer.invoke(**
>>>>>> JmxMBeanServer.java:791)
>>>>>>        at org.apache.catalina.manager.******ManagerServlet.check(**
>>>>>> ManagerServlet.java:1436)
>>>>>>        at org.apache.catalina.manager.******ManagerServlet.deploy(**
>>>>>> ManagerServlet.java:856)
>>>>>>        at org.apache.catalina.manager.******ManagerServlet.doGet(**
>>>>>> ManagerServlet.java:353)
>>>>>>        at javax.servlet.http.******HttpServlet.service(****
>>>>>> HttpServlet.java:621)
>>>>>>        at javax.servlet.http.******HttpServlet.service(****
>>>>>> HttpServlet.java:722)
>>>>>>        at org.apache.catalina.core.******ApplicationFilterChain.**
>>>>>> internalDoFilter(******ApplicationFilterChain.java:******305)
>>>>>>        at org.apache.catalina.core.******ApplicationFilterChain.****
>>>>>> doFilter(**
>>>>>> ApplicationFilterChain.java:******210)
>>>>>>        at org.apache.catalina.filters.****
>>>>>> **SetCharacterEncodingFilter.****
>>>>>> doFilter(******SetCharacterEncodingFilter.******java:108)
>>>>>>        at org.apache.catalina.core.******ApplicationFilterChain.**
>>>>>> internalDoFilter(******ApplicationFilterChain.java:******243)
>>>>>>        at org.apache.catalina.core.******ApplicationFilterChain.****
>>>>>> doFilter(**
>>>>>> ApplicationFilterChain.java:******210)
>>>>>>        at org.apache.catalina.core.******StandardWrapperValve.invoke(**
>>>>>> StandardWrapperValve.java:225)
>>>>>>        at org.apache.catalina.core.******StandardContextValve.invoke(**
>>>>>> StandardContextValve.java:169)
>>>>>>        at org.apache.tomee.catalina.******OpenEJBValve.invoke(**
>>>>>> OpenEJBValve.java:44)
>>>>>>        at org.apache.catalina.******authenticator.****
>>>>>> AuthenticatorBase.invoke(**
>>>>>> AuthenticatorBase.java:581)
>>>>>>        at org.apache.catalina.core.******StandardHostValve.invoke(**
>>>>>> StandardHostValve.java:168)
>>>>>>        at org.apache.catalina.valves.******ErrorReportValve.invoke(**
>>>>>> ErrorReportValve.java:98)
>>>>>>        at org.apache.catalina.valves.******AccessLogValve.invoke(**
>>>>>> AccessLogValve.java:927)
>>>>>>        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:******999)
>>>>>>        at org.apache.coyote.******AbstractProtocol$****
>>>>>> AbstractConnectionHandler.**
>>>>>> process(AbstractProtocol.java:******565)
>>>>>>        at org.apache.tomcat.util.net.*****
>>>>>> *JIoEndpoint$SocketProcessor.****
>>>>>> run(JIoEndpoint.java:309)
>>>>>>        at java.util.concurrent.******ThreadPoolExecutor.runWorker(***
>>>>>> ***
>>>>>> ThreadPoolExecutor.java:1110)
>>>>>>        at java.util.concurrent.******ThreadPoolExecutor$Worker.run(**
>>>>>> ****
>>>>>> ThreadPoolExecutor.java:603)
>>>>>>        at java.lang.Thread.run(Thread.******java:722)
>>>>>>
>>>>>> Jul 08, 2012 4:40:06 PM org.apache.tomee.catalina.****
>>>>>> TomcatWebAppBuilder
>>>>>> safeBind
>>>>>> INFO: TransactionManager already bound, ignoring
>>>>>> Jul 08, 2012 4:40:06 PM org.apache.tomee.catalina.****
>>>>>> TomcatWebAppBuilder
>>>>>> safeBind
>>>>>> INFO: TransactionSynchronizationRegi******stry already bound, ignoring
>>>>>> Jul 08, 2012 4:40:06 PM org.apache.tomee.catalina.****
>>>>>> TomcatWebAppBuilder
>>>>>> safeBind
>>>>>> SEVERE: Error in safeBind method
>>>>>> javax.naming.******NameNotFoundException: No ORB registered with the
>>>>>> OpenEJB
>>>>>> system
>>>>>>        at org.apache.openejb.core.ivm.******naming.****
>>>>>> SystemComponentReference.**
>>>>>> getObject(******SystemComponentReference.java:******38)
>>>>>>        at org.apache.openejb.core.ivm.****
>>>>>> **naming.Reference.getContent(****
>>>>>> Reference.java:40)
>>>>>>        at org.apache.xbean.naming.******reference.SimpleReference$**
>>>>>> SimpleObjectFactory.******getObjectInstance(******
>>>>>> SimpleReference.java:137)
>>>>>>        at javax.naming.spi.******NamingManager.******
>>>>>> getObjectInstance(**
>>>>>> NamingManager.java:321)
>>>>>>        at org.apache.naming.******NamingContext.lookup(****
>>>>>> NamingContext.java:843)
>>>>>>        at org.apache.naming.******NamingContext.lookup(****
>>>>>> NamingContext.java:168)
>>>>>>        at org.apache.tomee.catalina.******
>>>>>> TomcatWebAppBuilder.safeBind(******
>>>>>> TomcatWebAppBuilder.java:1196)
>>>>>>        at org.apache.tomee.catalina.******TomcatWebAppBuilder.****
>>>>>> afterStart(**
>>>>>> TomcatWebAppBuilder.java:806)
>>>>>>        at org.apache.tomee.catalina.******GlobalListenerSupport.****
>>>>>> lifecycleEvent(
>>>>>> **GlobalListenerSupport.java:******103)
>>>>>>        at org.apache.catalina.util.******LifecycleSupport.****
>>>>>> fireLifecycleEvent(**
>>>>>> LifecycleSupport.java:119)
>>>>>>        at org.apache.catalina.util.******LifecycleBase.****
>>>>>> fireLifecycleEvent(**
>>>>>> LifecycleBase.java:90)
>>>>>>        at org.apache.catalina.util.******LifecycleBase.****
>>>>>> setStateInternal(**
>>>>>> LifecycleBase.java:401)
>>>>>>        at org.apache.catalina.util.******LifecycleBase.start(**
>>>>>> LifecycleBase.java:168)
>>>>>>        at org.apache.catalina.core.******ContainerBase.****
>>>>>> addChildInternal(**
>>>>>> ContainerBase.java:895)
>>>>>>        at org.apache.catalina.core.******ContainerBase.addChild(**
>>>>>> ContainerBase.java:871)
>>>>>>        at org.apache.catalina.core.******StandardHost.addChild(**
>>>>>> StandardHost.java:615)
>>>>>>        at org.apache.catalina.startup.****
>>>>>> **HostConfig.deployDescriptor(****
>>>>>> HostConfig.java:649)
>>>>>>        at org.apache.catalina.startup.******HostConfig.deployApps(**
>>>>>> HostConfig.java:530)
>>>>>>        at org.apache.catalina.startup.****
>>>>>> **HostConfig.check(HostConfig.****
>>>>>> java:1471)
>>>>>>        at sun.reflect.******NativeMethodAccessorImpl.******
>>>>>> invoke0(Native
>>>>>> Method)
>>>>>>        at sun.reflect.******NativeMethodAccessorImpl.******invoke(**
>>>>>> NativeMethodAccessorImpl.java:******57)
>>>>>>        at sun.reflect.******DelegatingMethodAccessorImpl.***
>>>>>> ***invoke(**
>>>>>> DelegatingMethodAccessorImpl.******java:43)
>>>>>>        at java.lang.reflect.Method.******invoke(Method.java:601)
>>>>>>        at org.apache.tomcat.util.******modeler.BaseModelMBean.invoke(**
>>>>>> ****
>>>>>> BaseModelMBean.java:301)
>>>>>>        at com.sun.jmx.interceptor.******DefaultMBeanServerInterceptor.*
>>>>>> ***
>>>>>> **invoke(**
>>>>>> DefaultMBeanServerInterceptor.******java:819)
>>>>>>        at com.sun.jmx.mbeanserver.******JmxMBeanServer.invoke(**
>>>>>> JmxMBeanServer.java:791)
>>>>>>        at org.apache.catalina.manager.******ManagerServlet.check(**
>>>>>> ManagerServlet.java:1436)
>>>>>>        at org.apache.catalina.manager.******ManagerServlet.deploy(**
>>>>>> ManagerServlet.java:856)
>>>>>>        at org.apache.catalina.manager.******ManagerServlet.doGet(**
>>>>>> ManagerServlet.java:353)
>>>>>>        at javax.servlet.http.******HttpServlet.service(****
>>>>>> HttpServlet.java:621)
>>>>>>        at javax.servlet.http.******HttpServlet.service(****
>>>>>> HttpServlet.java:722)
>>>>>>        at org.apache.catalina.core.******ApplicationFilterChain.**
>>>>>> internalDoFilter(******ApplicationFilterChain.java:******305)
>>>>>>        at org.apache.catalina.core.******ApplicationFilterChain.****
>>>>>> doFilter(**
>>>>>> ApplicationFilterChain.java:******210)
>>>>>>        at org.apache.catalina.filters.****
>>>>>> **SetCharacterEncodingFilter.****
>>>>>> doFilter(******SetCharacterEncodingFilter.******java:108)
>>>>>>        at org.apache.catalina.core.******ApplicationFilterChain.**
>>>>>> internalDoFilter(******ApplicationFilterChain.java:******243)
>>>>>>        at org.apache.catalina.core.******ApplicationFilterChain.****
>>>>>> doFilter(**
>>>>>> ApplicationFilterChain.java:******210)
>>>>>>        at org.apache.catalina.core.******StandardWrapperValve.invoke(**
>>>>>> StandardWrapperValve.java:225)
>>>>>>        at org.apache.catalina.core.******StandardContextValve.invoke(**
>>>>>> StandardContextValve.java:169)
>>>>>>        at org.apache.tomee.catalina.******OpenEJBValve.invoke(**
>>>>>> OpenEJBValve.java:44)
>>>>>>        at org.apache.catalina.******authenticator.****
>>>>>> AuthenticatorBase.invoke(**
>>>>>> AuthenticatorBase.java:581)
>>>>>>        at org.apache.catalina.core.******StandardHostValve.invoke(**
>>>>>> StandardHostValve.java:168)
>>>>>>        at org.apache.catalina.valves.******ErrorReportValve.invoke(**
>>>>>> ErrorReportValve.java:98)
>>>>>>        at org.apache.catalina.valves.******AccessLogValve.invoke(**
>>>>>> AccessLogValve.java:927)
>>>>>>        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:******999)
>>>>>>        at org.apache.coyote.******AbstractProtocol$****
>>>>>> AbstractConnectionHandler.**
>>>>>> process(AbstractProtocol.java:******565)
>>>>>>        at org.apache.tomcat.util.net.*****
>>>>>> *JIoEndpoint$SocketProcessor.****
>>>>>> run(JIoEndpoint.java:309)
>>>>>>        at java.util.concurrent.******ThreadPoolExecutor.runWorker(***
>>>>>> ***
>>>>>> ThreadPoolExecutor.java:1110)
>>>>>>        at java.util.concurrent.******ThreadPoolExecutor$Worker.run(**
>>>>>> ****
>>>>>> ThreadPoolExecutor.java:603)
>>>>>>        at java.lang.Thread.run(Thread.******java:722)
>>>>>>
>>>>>> Jul 08, 2012 4:40:43 PM org.apache.tomee.catalina.****
>>>>>> TomcatWebAppBuilder
>>>>>> safeBind
>>>>>> SEVERE: Error in safeBind method
>>>>>> javax.naming.******NameNotFoundException: No HandleDelegate registered
>>>>>> with
>>>>>> the OpenEJB system
>>>>>>        at org.apache.openejb.core.ivm.******naming.****
>>>>>> SystemComponentReference.**
>>>>>> getObject(******SystemComponentReference.java:******38)
>>>>>>        at org.apache.openejb.core.ivm.****
>>>>>> **naming.Reference.getContent(****
>>>>>> Reference.java:40)
>>>>>>        at org.apache.xbean.naming.******reference.SimpleReference$**
>>>>>> SimpleObjectFactory.******getObjectInstance(******
>>>>>> SimpleReference.java:137)
>>>>>>        at javax.naming.spi.******NamingManager.******
>>>>>> getObjectInstance(**
>>>>>> NamingManager.java:321)
>>>>>>        at org.apache.naming.******NamingContext.lookup(****
>>>>>> NamingContext.java:843)
>>>>>>        at org.apache.naming.******NamingContext.lookup(****
>>>>>> NamingContext.java:168)
>>>>>>        at org.apache.tomee.catalina.******
>>>>>> TomcatWebAppBuilder.safeBind(******
>>>>>> TomcatWebAppBuilder.java:1196)
>>>>>>        at org.apache.tomee.catalina.******TomcatWebAppBuilder.****
>>>>>> afterStart(**
>>>>>> TomcatWebAppBuilder.java:807)
>>>>>>        at org.apache.tomee.catalina.******GlobalListenerSupport.****
>>>>>> lifecycleEvent(
>>>>>> **GlobalListenerSupport.java:******103)
>>>>>>        at org.apache.catalina.util.******LifecycleSupport.****
>>>>>> fireLifecycleEvent(**
>>>>>> LifecycleSupport.java:119)
>>>>>>        at org.apache.catalina.util.******LifecycleBase.****
>>>>>> fireLifecycleEvent(**
>>>>>> LifecycleBase.java:90)
>>>>>>        at org.apache.catalina.util.******LifecycleBase.****
>>>>>> setStateInternal(**
>>>>>> LifecycleBase.java:401)
>>>>>>        at org.apache.catalina.util.******LifecycleBase.start(**
>>>>>> LifecycleBase.java:168)
>>>>>>        at org.apache.catalina.core.******ContainerBase.****
>>>>>> addChildInternal(**
>>>>>> ContainerBase.java:895)
>>>>>>        at org.apache.catalina.core.******ContainerBase.addChild(**
>>>>>> ContainerBase.java:871)
>>>>>>        at org.apache.catalina.core.******StandardHost.addChild(**
>>>>>> StandardHost.java:615)
>>>>>>        at org.apache.catalina.startup.****
>>>>>> **HostConfig.deployDescriptor(****
>>>>>> HostConfig.java:649)
>>>>>>        at org.apache.catalina.startup.******HostConfig.deployApps(**
>>>>>> HostConfig.java:530)
>>>>>>        at org.apache.catalina.startup.****
>>>>>> **HostConfig.check(HostConfig.****
>>>>>> java:1471)
>>>>>>        at sun.reflect.******NativeMethodAccessorImpl.******
>>>>>> invoke0(Native
>>>>>> Method)
>>>>>>        at sun.reflect.******NativeMethodAccessorImpl.******invoke(**
>>>>>> NativeMethodAccessorImpl.java:******57)
>>>>>>        at sun.reflect.******DelegatingMethodAccessorImpl.***
>>>>>> ***invoke(**
>>>>>> DelegatingMethodAccessorImpl.******java:43)
>>>>>>        at java.lang.reflect.Method.******invoke(Method.java:601)
>>>>>>        at org.apache.tomcat.util.******modeler.BaseModelMBean.invoke(**
>>>>>> ****
>>>>>> BaseModelMBean.java:301)
>>>>>>        at com.sun.jmx.interceptor.******DefaultMBeanServerInterceptor.*
>>>>>> ***
>>>>>> **invoke(**
>>>>>> DefaultMBeanServerInterceptor.******java:819)
>>>>>>        at com.sun.jmx.mbeanserver.******JmxMBeanServer.invoke(**
>>>>>> JmxMBeanServer.java:791)
>>>>>>        at org.apache.catalina.manager.******ManagerServlet.check(**
>>>>>> ManagerServlet.java:1436)
>>>>>>        at org.apache.catalina.manager.******ManagerServlet.deploy(**
>>>>>> ManagerServlet.java:856)
>>>>>>        at org.apache.catalina.manager.******ManagerServlet.doGet(**
>>>>>> ManagerServlet.java:353)
>>>>>>        at javax.servlet.http.******HttpServlet.service(****
>>>>>> HttpServlet.java:621)
>>>>>>        at javax.servlet.http.******HttpServlet.service(****
>>>>>> HttpServlet.java:722)
>>>>>>        at org.apache.catalina.core.******ApplicationFilterChain.**
>>>>>> internalDoFilter(******ApplicationFilterChain.java:******305)
>>>>>>        at org.apache.catalina.core.******ApplicationFilterChain.****
>>>>>> doFilter(**
>>>>>> ApplicationFilterChain.java:******210)
>>>>>>        at org.apache.catalina.filters.****
>>>>>> **SetCharacterEncodingFilter.****
>>>>>> doFilter(******SetCharacterEncodingFilter.******java:108)
>>>>>>        at org.apache.catalina.core.******ApplicationFilterChain.**
>>>>>> internalDoFilter(******ApplicationFilterChain.java:******243)
>>>>>>        at org.apache.catalina.core.******ApplicationFilterChain.****
>>>>>> doFilter(**
>>>>>> ApplicationFilterChain.java:******210)
>>>>>>        at org.apache.catalina.core.******StandardWrapperValve.invoke(**
>>>>>> StandardWrapperValve.java:225)
>>>>>>        at org.apache.catalina.core.******StandardContextValve.invoke(**
>>>>>> StandardContextValve.java:169)
>>>>>>        at org.apache.tomee.catalina.******OpenEJBValve.invoke(**
>>>>>> OpenEJBValve.java:44)
>>>>>>        at org.apache.catalina.******authenticator.****
>>>>>> AuthenticatorBase.invoke(**
>>>>>> AuthenticatorBase.java:581)
>>>>>>        at org.apache.catalina.core.******StandardHostValve.invoke(**
>>>>>> StandardHostValve.java:168)
>>>>>>        at org.apache.catalina.valves.******ErrorReportValve.invoke(**
>>>>>> ErrorReportValve.java:98)
>>>>>>        at org.apache.catalina.valves.******AccessLogValve.invoke(**
>>>>>> AccessLogValve.java:927)
>>>>>>        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:******999)
>>>>>>        at org.apache.coyote.******AbstractProtocol$****
>>>>>> AbstractConnectionHandler.**
>>>>>> process(AbstractProtocol.java:******565)
>>>>>>        at org.apache.tomcat.util.net.*****
>>>>>> *JIoEndpoint$SocketProcessor.****
>>>>>> run(JIoEndpoint.java:309)
>>>>>>        at java.util.concurrent.******ThreadPoolExecutor.runWorker(***
>>>>>> ***
>>>>>> ThreadPoolExecutor.java:1110)
>>>>>>        at java.util.concurrent.******ThreadPoolExecutor$Worker.run(**
>>>>>> ****
>>>>>> ThreadPoolExecutor.java:603)
>>>>>>        at java.lang.Thread.run(Thread.******java:722)
>>>>>>
>>>>>>
>>>>>>
>>>>>> On 7/8/2012 4:32 PM, Romain Manni-Bucau wrote:
>>>>>>
>>>>>>    i don't think so,
>>>>>>
>>>>>>> can you try moving your code in a unit test to see if it still happen?
>>>>>>>
>>>>>>> - Romain
>>>>>>>
>>>>>>>
>>>>>>> 2012/7/8 David Nordahl<da...@thinkology.org>
>>>>>>>
>>>>>>>     Could it be the Tomcat JDBCRealm I have enforcing container managed
>>>>>>>
>>>>>>>   security from user data in the same table?
>>>>>>>>
>>>>>>>> On 7/8/2012 4:14 PM, Romain Manni-Bucau wrote:
>>>>>>>>
>>>>>>>>     i can't say no but i'm pretty sure it is something in the
>>>>>>>> container
>>>>>>>>
>>>>>>>>   rather
>>>>>>>>> in the DB.
>>>>>>>>>
>>>>>>>>> - Romain
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> 2012/7/8 David Nordahl<da...@thinkology.org>
>>>>>>>>>
>>>>>>>>>      Maybe the DB settings could have something to do with it? I'm
>>>>>>>>> using
>>>>>>>>> MySQL
>>>>>>>>>
>>>>>>>>>    with it's default setup which uses InnoDB.  I notice in the
>>>>>>>>>
>>>>>>>>>> documentation
>>>>>>>>>> that "InnoDB, with innodb_flush_log_at_trx_commit set to 1, flushes
>>>>>>>>>> the
>>>>>>>>>> transaction log after each transaction, greatly improving
>>>>>>>>>> reliability."
>>>>>>>>>>
>>>>>>>>>> Could some DB setting like this be causing the issue?
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On 7/8/2012 3:39 PM, Romain Manni-Bucau wrote:
>>>>>>>>>>
>>>>>>>>>>      can you share a small sample to reproduce it, will be easier to
>>>>>>>>>> help
>>>>>>>>>>
>>>>>>>>>>    you?
>>>>>>>>>>
>>>>>>>>>>> - Romain
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> 2012/7/8 David Nordahl<da...@thinkology.org>
>>>>>>>>>>>
>>>>>>>>>>>       Not that I've configured.. Unless one of the annotations
>>>>>>>>>>> creates
>>>>>>>>>>> one:
>>>>>>>>>>>
>>>>>>>>>>>     @Entity
>>>>>>>>>>>
>>>>>>>>>>>   @Table(name = "user")
>>>>>>>>>>>> @XmlRootElement
>>>>>>>>>>>> @NamedQueries({
>>>>>>>>>>>>           @NamedQuery(name = "User.findAll", query = "SELECT u
>>>>>>>>>>>> FROM
>>>>>>>>>>>> User
>>>>>>>>>>>> u"),
>>>>>>>>>>>>           @NamedQuery(name = "User.findByUserId", query = "SELECT
>>>>>>>>>>>> u
>>>>>>>>>>>> FROM
>>>>>>>>>>>> User
>>>>>>>>>>>> u
>>>>>>>>>>>> WHERE u.userId = :userId"),
>>>>>>>>>>>>           @NamedQuery(name = "User.findByUserName", query =
>>>>>>>>>>>> "SELECT u
>>>>>>>>>>>> FROM
>>>>>>>>>>>> User
>>>>>>>>>>>> u WHERE u.userName = :userName"),
>>>>>>>>>>>>           @NamedQuery(name = "User.findByPassword", query =
>>>>>>>>>>>> "SELECT u
>>>>>>>>>>>> FROM
>>>>>>>>>>>> User
>>>>>>>>>>>> u WHERE u.password = :password"),
>>>>>>>>>>>>           @NamedQuery(name = "User.findByEmail", query = "SELECT u
>>>>>>>>>>>> FROM
>>>>>>>>>>>> User u
>>>>>>>>>>>> WHERE u.email = :email"),
>>>>>>>>>>>>           @NamedQuery(name = "User.findByFirstName", query =
>>>>>>>>>>>> "SELECT
>>>>>>>>>>>> u
>>>>>>>>>>>> FROM
>>>>>>>>>>>> User
>>>>>>>>>>>> u WHERE u.firstName = :firstName"),
>>>>>>>>>>>>           @NamedQuery(name = "User.findByLastName", query =
>>>>>>>>>>>> "SELECT u
>>>>>>>>>>>> FROM
>>>>>>>>>>>> User
>>>>>>>>>>>> u WHERE u.lastName = :lastName"),
>>>>>>>>>>>>           @NamedQuery(name = "User.findByLoginFailures", query =
>>>>>>>>>>>> "SELECT u
>>>>>>>>>>>> FROM
>>>>>>>>>>>> User u WHERE u.loginFailures = :loginFailures"),
>>>>>>>>>>>>           @NamedQuery(name = "User.findByLastLoginFailure", query
>>>>>>>>>>>> =
>>>>>>>>>>>> "SELECT u
>>>>>>>>>>>> FROM User u WHERE u.lastLoginFailure = :lastLoginFailure")})
>>>>>>>>>>>> public class User implements Serializable {
>>>>>>>>>>>>           private static final long serialVersionUID = 1L;
>>>>>>>>>>>>           @Id
>>>>>>>>>>>>           @GeneratedValue(strategy = GenerationType.IDENTITY)
>>>>>>>>>>>>           @Basic(optional = false)
>>>>>>>>>>>>           @Column(name = "user_id")
>>>>>>>>>>>>           private Integer userId;
>>>>>>>>>>>>           @Basic(optional = false)
>>>>>>>>>>>>           @Column(name = "user_name")
>>>>>>>>>>>>           private String userName;
>>>>>>>>>>>>           @Basic(optional = false)
>>>>>>>>>>>>           @Column(name = "password")
>>>>>>>>>>>>           private String password;
>>>>>>>>>>>>           @Column(name = "email")
>>>>>>>>>>>>           private String email;
>>>>>>>>>>>>           @Column(name = "first_name")
>>>>>>>>>>>>           private String firstName;
>>>>>>>>>>>>           @Column(name = "last_name")
>>>>>>>>>>>>           private String lastName;
>>>>>>>>>>>>           @Column(name = "login_failures")
>>>>>>>>>>>>           private Integer loginFailures;
>>>>>>>>>>>>           @Column(name = "last_login_failure")
>>>>>>>>>>>>           @Temporal(TemporalType.************TIMESTAMP)
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>           private Date lastLoginFailure;
>>>>>>>>>>>>           @JoinColumn(name = "associated_customer",
>>>>>>>>>>>> referencedColumnName =
>>>>>>>>>>>> "customer_id")
>>>>>>>>>>>>           @ManyToOne
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> On 7/8/2012 3:25 PM, Romain Manni-Bucau wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>       Hi,
>>>>>>>>>>>>
>>>>>>>>>>>>     any entity listener playing with id or special field on User
>>>>>>>>>>>> entity?
>>>>>>>>>>>>
>>>>>>>>>>>>   - Romain
>>>>>>>>>>>>>
>>>>>>>>>>>>> 2012/7/8 David Nordahl<da...@thinkology.org>
>>>>>>>>>>>>>
>>>>>>>>>>>>>        I'm attempting the code:
>>>>>>>>>>>>>
>>>>>>>>>>>>>      Properties properties = new Properties();
>>>>>>>>>>>>>
>>>>>>>>>>>>>    properties.setProperty(*********
>>>>>>>>>>>>> *****Context.INITIAL_CONTEXT_*******
>>>>>>>>>>>>>
>>>>>>>>>>>>>> ****
>>>>>>>>>>>>>> ***
>>>>>>>>>>>>>> FACTORY,
>>>>>>>>>>>>>> "org.apache.openejb.client.****************
>>>>>>>>>>>>>> LocalInitialContextFactory"**)******;
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> InitialContext initialContext = new InitialContext(properties);
>>>>>>>>>>>>>> Object object = initialContext.lookup("*************
>>>>>>>>>>>>>> *UserFacadeLocal");
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> UserFacadeLocal userFacade = (UserFacadeLocal) object;
>>>>>>>>>>>>>> User newuser = new User();
>>>>>>>>>>>>>> newuser.setEmail("cow@cow.moo"**************);
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> newuser.setUserName("steve");
>>>>>>>>>>>>>> newuser.setPassword("cows");
>>>>>>>>>>>>>> userFacade.create(newuser);
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> but keep getting "org.apache.openjpa.**************
>>>>>>>>>>>>>> persistence.****
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> InvalidStateException:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Detected reentrant flush.  Make sure your flush-time instance
>>>>>>>>>>>>>> callback
>>>>>>>>>>>>>> methods or event listeners do not invoke any operations that
>>>>>>>>>>>>>> require
>>>>>>>>>>>>>> the
>>>>>>>>>>>>>> in-progress flush to complete."
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> I tried setting "openjpa.FlushBeforeQueries" to false just to
>>>>>>>>>>>>>> see
>>>>>>>>>>>>>> if
>>>>>>>>>>>>>> I
>>>>>>>>>>>>>> can
>>>>>>>>>>>>>> get the error to go away, but it makes no difference.  I can't
>>>>>>>>>>>>>> find a
>>>>>>>>>>>>>> flush() call in my project and according to the table in the
>>>>>>>>>>>>>> docs,
>>>>>>>>>>>>>> flush
>>>>>>>>>>>>>> is
>>>>>>>>>>>>>> not called if this parameter is set.  What am I not doing
>>>>>>>>>>>>>> correctly
>>>>>>>>>>>>>> here?
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Thank you,
>>>>>>>>>>>>>> David
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>

Re: Random Exceptions

Posted by David Nordahl <da...@thinkology.org>.
Thank you.. Will get the new version if I have any more errors.  Dev and 
prod now working and entity beans in my jsps are persisting to DB now.

On 08/22/2012 05:26 PM, Romain Manni-Bucau wrote:
> was writing i redeployed a new snapshot to let you test with a fresh HEAD
> (you line numbers was no more up to date)
>
> nice if it works
>
> *Romain Manni-Bucau*
> *Twitter: @rmannibucau*
> *Blog: http://rmannibucau.wordpress.com*
>
>
>
>
> 2012/8/23 David Nordahl <da...@thinkology.org>
>
>> Got it working by reinstalling TomEE on the problematic environment.. must
>> have gotten a missing or damaged file.
>>
>>
>>
>> On 08/22/2012 05:00 PM, David Nordahl wrote:
>>
>>> Attached is the log file containing the exceptions and stack traces.  I
>>> am using 1.1 SNAPSHOT
>>>
>>>
>>> On 08/22/2012 04:40 PM, Romain Manni-Bucau wrote:
>>>
>>>> Hi,
>>>>
>>>> can you give us the version you are using (snapshot or not) and the full
>>>> stacktrace please?
>>>>
>>>> *Romain Manni-Bucau*
>>>> *Twitter: @rmannibucau*
>>>> *Blog: http://rmannibucau.wordpress.**com<http://rmannibucau.wordpress.com>
>>>> *
>>>>
>>>>
>>>>
>>>>
>>>> 2012/8/22 David Nordahl <da...@thinkology.org>
>>>>
>>>>   Now my dev environment is working fine, but production is giving these
>>>>> exceptions all over the place:
>>>>>
>>>>> java.lang.****IllegalStateException: ContainerBase.addChild: start:
>>>>> org.apache.catal
>>>>> ina.LifecycleException: Failed to start component
>>>>> [StandardEngine[Catalina].Stan
>>>>> dardHost[localhost].****StandardContext[]]
>>>>>
>>>>> plus a few about org.apache.http.HTTPEntity
>>>>>
>>>>> I'm using the same version of TomEE, same war, and no system classpath
>>>>> defined.  Some forums pinned these type of errors on servlet.jar
>>>>> libraries
>>>>> getting loaded, but I don't find any files by that name in the file
>>>>> system.
>>>>>    Just the servlet-api.jar, and if I remove that then TomEE doesn't
>>>>> work at
>>>>> all.
>>>>>
>>>>>
>>>>>
>>>>>


Re: Random Exceptions

Posted by Romain Manni-Bucau <rm...@gmail.com>.
was writing i redeployed a new snapshot to let you test with a fresh HEAD
(you line numbers was no more up to date)

nice if it works

*Romain Manni-Bucau*
*Twitter: @rmannibucau*
*Blog: http://rmannibucau.wordpress.com*




2012/8/23 David Nordahl <da...@thinkology.org>

> Got it working by reinstalling TomEE on the problematic environment.. must
> have gotten a missing or damaged file.
>
>
>
> On 08/22/2012 05:00 PM, David Nordahl wrote:
>
>> Attached is the log file containing the exceptions and stack traces.  I
>> am using 1.1 SNAPSHOT
>>
>>
>> On 08/22/2012 04:40 PM, Romain Manni-Bucau wrote:
>>
>>> Hi,
>>>
>>> can you give us the version you are using (snapshot or not) and the full
>>> stacktrace please?
>>>
>>> *Romain Manni-Bucau*
>>> *Twitter: @rmannibucau*
>>> *Blog: http://rmannibucau.wordpress.**com<http://rmannibucau.wordpress.com>
>>> *
>>>
>>>
>>>
>>>
>>> 2012/8/22 David Nordahl <da...@thinkology.org>
>>>
>>>  Now my dev environment is working fine, but production is giving these
>>>> exceptions all over the place:
>>>>
>>>> java.lang.****IllegalStateException: ContainerBase.addChild: start:
>>>> org.apache.catal
>>>> ina.LifecycleException: Failed to start component
>>>> [StandardEngine[Catalina].Stan
>>>> dardHost[localhost].****StandardContext[]]
>>>>
>>>> plus a few about org.apache.http.HTTPEntity
>>>>
>>>> I'm using the same version of TomEE, same war, and no system classpath
>>>> defined.  Some forums pinned these type of errors on servlet.jar
>>>> libraries
>>>> getting loaded, but I don't find any files by that name in the file
>>>> system.
>>>>   Just the servlet-api.jar, and if I remove that then TomEE doesn't
>>>> work at
>>>> all.
>>>>
>>>>
>>>>
>>>>
>>
>

Re: Random Exceptions

Posted by David Nordahl <da...@thinkology.org>.
Got it working by reinstalling TomEE on the problematic environment.. 
must have gotten a missing or damaged file.


On 08/22/2012 05:00 PM, David Nordahl wrote:
> Attached is the log file containing the exceptions and stack traces.  
> I am using 1.1 SNAPSHOT
>
>
> On 08/22/2012 04:40 PM, Romain Manni-Bucau wrote:
>> Hi,
>>
>> can you give us the version you are using (snapshot or not) and the full
>> stacktrace please?
>>
>> *Romain Manni-Bucau*
>> *Twitter: @rmannibucau*
>> *Blog: http://rmannibucau.wordpress.com*
>>
>>
>>
>>
>> 2012/8/22 David Nordahl <da...@thinkology.org>
>>
>>> Now my dev environment is working fine, but production is giving these
>>> exceptions all over the place:
>>>
>>> java.lang.**IllegalStateException: ContainerBase.addChild: start:
>>> org.apache.catal
>>> ina.LifecycleException: Failed to start component
>>> [StandardEngine[Catalina].Stan
>>> dardHost[localhost].**StandardContext[]]
>>>
>>> plus a few about org.apache.http.HTTPEntity
>>>
>>> I'm using the same version of TomEE, same war, and no system classpath
>>> defined.  Some forums pinned these type of errors on servlet.jar 
>>> libraries
>>> getting loaded, but I don't find any files by that name in the file 
>>> system.
>>>   Just the servlet-api.jar, and if I remove that then TomEE doesn't 
>>> work at
>>> all.
>>>
>>>
>>>
>


Re: Random Exceptions

Posted by David Nordahl <da...@thinkology.org>.
Attached is the log file containing the exceptions and stack traces.  I 
am using 1.1 SNAPSHOT


On 08/22/2012 04:40 PM, Romain Manni-Bucau wrote:
> Hi,
>
> can you give us the version you are using (snapshot or not) and the full
> stacktrace please?
>
> *Romain Manni-Bucau*
> *Twitter: @rmannibucau*
> *Blog: http://rmannibucau.wordpress.com*
>
>
>
>
> 2012/8/22 David Nordahl <da...@thinkology.org>
>
>> Now my dev environment is working fine, but production is giving these
>> exceptions all over the place:
>>
>> java.lang.**IllegalStateException: ContainerBase.addChild: start:
>> org.apache.catal
>> ina.LifecycleException: Failed to start component
>> [StandardEngine[Catalina].Stan
>> dardHost[localhost].**StandardContext[]]
>>
>> plus a few about org.apache.http.HTTPEntity
>>
>> I'm using the same version of TomEE, same war, and no system classpath
>> defined.  Some forums pinned these type of errors on servlet.jar libraries
>> getting loaded, but I don't find any files by that name in the file system.
>>   Just the servlet-api.jar, and if I remove that then TomEE doesn't work at
>> all.
>>
>>
>>


Re: Random Exceptions

Posted by Romain Manni-Bucau <rm...@gmail.com>.
Hi,

can you give us the version you are using (snapshot or not) and the full
stacktrace please?

*Romain Manni-Bucau*
*Twitter: @rmannibucau*
*Blog: http://rmannibucau.wordpress.com*




2012/8/22 David Nordahl <da...@thinkology.org>

> Now my dev environment is working fine, but production is giving these
> exceptions all over the place:
>
> java.lang.**IllegalStateException: ContainerBase.addChild: start:
> org.apache.catal
> ina.LifecycleException: Failed to start component
> [StandardEngine[Catalina].Stan
> dardHost[localhost].**StandardContext[]]
>
> plus a few about org.apache.http.HTTPEntity
>
> I'm using the same version of TomEE, same war, and no system classpath
> defined.  Some forums pinned these type of errors on servlet.jar libraries
> getting loaded, but I don't find any files by that name in the file system.
>  Just the servlet-api.jar, and if I remove that then TomEE doesn't work at
> all.
>
>
>

Random Exceptions

Posted by David Nordahl <da...@thinkology.org>.
Now my dev environment is working fine, but production is giving these 
exceptions all over the place:

java.lang.IllegalStateException: ContainerBase.addChild: start: 
org.apache.catal
ina.LifecycleException: Failed to start component 
[StandardEngine[Catalina].Stan
dardHost[localhost].StandardContext[]]

plus a few about org.apache.http.HTTPEntity

I'm using the same version of TomEE, same war, and no system classpath 
defined.  Some forums pinned these type of errors on servlet.jar 
libraries getting loaded, but I don't find any files by that name in the 
file system.  Just the servlet-api.jar, and if I remove that then TomEE 
doesn't work at all.



Re: Exceptions in my deployed environment

Posted by David Nordahl <da...@thinkology.org>.
To update this thread, the way I got this working when building the 
project in Netbeans 7.2 was to add OpenJPA as a persistence provider by 
using the jar files contained in the OpenJPA bin release. Netbeans then 
automatically adds the correct <provider> entry in the persistence.xml 
file for OpenJPA.  Under additional compiler options in the project 
settings I added -Aopenjpa.metamodel=true

The meta classes were then compiled to 
<project-home>/build/generated-sources/ap-source-output and were 
included in the /dist war file for deployment.

On 08/17/2012 03:55 PM, Romain Manni-Bucau wrote:
> Did you generate jpa meta classes?
> Le 17 août 2012 22:14, "David Nordahl" <da...@thinkology.org> a écrit :
>
>> I'm having trouble making TomEE happy on my deployed server and I'm not
>> sure what is different from my dev environment.  Basically I have my EJB
>> class files included in a jar in the lib folder of TomEE as well as in my
>> deployed WAR web app.
>>
>> When EJBs are invoked, I get exceptions like:
>>
>> ClassCastException: cannot convert class A to class A.
>>
>> I also get exceptions about duplicate NamedQuery's.
>>
>> So I assume duplicate instances of class files present and TomEE is not
>> able to sort this out for some reason.  So if I remove the EJB classes
>> contained in the /lib folder jar of my class files, I get:
>>
>> WARNING: Meta class "com.company.entities.**Customer_" for entity class
>> com.company.entities.Customer can not be registered with following
>> exception "java.security.**PrivilegedActionException: java.lang.**ClassNotFoundException:
>> com.company.entities.Customer_**"
>> Aug 17, 2012 12:39:26 PM null
>>
>> Any advice regarding what I might be doing wrong ?  2-1 seems to equal 0
>> here :-)
>>
>>
>>
>>
>>


Re: Deployment Folders / Subfolders

Posted by Romain Manni-Bucau <rm...@gmail.com>.
hmm,

subfolders should work out of the bow, if it is not the case maybe you
configured something wrong in your app

about ROOT you can use a META-INF/context.xml to define the context path to
/, that's the easier

*Romain Manni-Bucau*
*Twitter: @rmannibucau*
*Blog: http://rmannibucau.wordpress.com*




2012/8/22 David Nordahl <da...@thinkology.org>

> When I drag my foo.war file to be deployed in the webapps folder it
> deploys the app to localhost:8080/foo, but it doesn't seem to serve any
> jsp/jpeg/css files contained in any subfolders of the war.
>
> When I rename the .war file to ROOT.war it serves everything up fine.  So
> I was wondering, how to do you configure TomEE to either deploy a war file
> like foo.war to ROOT, and if you actually do want it to deploy to
> localhost:8080/foo, then how do I get all my subfolders to show up
> correctly?
>

Deployment Folders / Subfolders

Posted by David Nordahl <da...@thinkology.org>.
When I drag my foo.war file to be deployed in the webapps folder it 
deploys the app to localhost:8080/foo, but it doesn't seem to serve any 
jsp/jpeg/css files contained in any subfolders of the war.

When I rename the .war file to ROOT.war it serves everything up fine.  
So I was wondering, how to do you configure TomEE to either deploy a war 
file like foo.war to ROOT, and if you actually do want it to deploy to 
localhost:8080/foo, then how do I get all my subfolders to show up 
correctly?

Re: Exceptions in my deployed environment

Posted by Romain Manni-Bucau <rm...@gmail.com>.
put all you want in WEB-INF/classes (think descriptors go to WEB-INF
instead of META-INF) and it should be fine


about your port error it is that your java installation is not correct (you
probably get a java.exe wrapper with some environment not set)

*Romain Manni-Bucau*
*Twitter: @rmannibucau*
*Blog: http://rmannibucau.wordpress.com*




2012/8/20 David Nordahl <da...@thinkology.org>

> I discovered my ide started leaving out the class files for some reason..
> I think I've got that fixed.  But now starting up tomee I get the error:
>
> SEVERE: Failed to initialize end point associated with ProtocolHandler
> ["http-bio-8080"]
> java.net.SocketException: Unrecognized Windows Sockets error: 10106: create
>
> using netstat and other tools I don't see that port 10106 is in use and
> I'm not sure why it's trying to connect and open this port to begin with.
>
> Also I was wondering with a web app with EJB's if it is needed to build an
> EAR file, or if you can put the entity classes in the classes folder of
> WEB-INF in the WAR file?
>
>
>
>
> On 8/17/2012 3:55 PM, Romain Manni-Bucau wrote:
>
>> Did you generate jpa meta classes?
>> Le 17 août 2012 22:14, "David Nordahl"<da...@thinkology.org>  a écrit :
>>
>>  I'm having trouble making TomEE happy on my deployed server and I'm not
>>> sure what is different from my dev environment.  Basically I have my EJB
>>> class files included in a jar in the lib folder of TomEE as well as in my
>>> deployed WAR web app.
>>>
>>> When EJBs are invoked, I get exceptions like:
>>>
>>> ClassCastException: cannot convert class A to class A.
>>>
>>> I also get exceptions about duplicate NamedQuery's.
>>>
>>> So I assume duplicate instances of class files present and TomEE is not
>>> able to sort this out for some reason.  So if I remove the EJB classes
>>> contained in the /lib folder jar of my class files, I get:
>>>
>>> WARNING: Meta class "com.company.entities.****Customer_" for entity
>>> class
>>>
>>> com.company.entities.Customer can not be registered with following
>>> exception "java.security.****PrivilegedActionException: java.lang.****
>>> ClassNotFoundException:
>>> com.company.entities.Customer_****"
>>>
>>> Aug 17, 2012 12:39:26 PM null
>>>
>>> Any advice regarding what I might be doing wrong ?  2-1 seems to equal 0
>>> here :-)
>>>
>>>
>>>
>>>
>>>
>>>

Re: Exceptions in my deployed environment

Posted by David Nordahl <da...@thinkology.org>.
I discovered my ide started leaving out the class files for some 
reason.. I think I've got that fixed.  But now starting up tomee I get 
the error:

SEVERE: Failed to initialize end point associated with ProtocolHandler 
["http-bio-8080"]
java.net.SocketException: Unrecognized Windows Sockets error: 10106: create

using netstat and other tools I don't see that port 10106 is in use and 
I'm not sure why it's trying to connect and open this port to begin with.

Also I was wondering with a web app with EJB's if it is needed to build 
an EAR file, or if you can put the entity classes in the classes folder 
of WEB-INF in the WAR file?



On 8/17/2012 3:55 PM, Romain Manni-Bucau wrote:
> Did you generate jpa meta classes?
> Le 17 août 2012 22:14, "David Nordahl"<da...@thinkology.org>  a écrit :
>
>> I'm having trouble making TomEE happy on my deployed server and I'm not
>> sure what is different from my dev environment.  Basically I have my EJB
>> class files included in a jar in the lib folder of TomEE as well as in my
>> deployed WAR web app.
>>
>> When EJBs are invoked, I get exceptions like:
>>
>> ClassCastException: cannot convert class A to class A.
>>
>> I also get exceptions about duplicate NamedQuery's.
>>
>> So I assume duplicate instances of class files present and TomEE is not
>> able to sort this out for some reason.  So if I remove the EJB classes
>> contained in the /lib folder jar of my class files, I get:
>>
>> WARNING: Meta class "com.company.entities.**Customer_" for entity class
>> com.company.entities.Customer can not be registered with following
>> exception "java.security.**PrivilegedActionException: java.lang.**ClassNotFoundException:
>> com.company.entities.Customer_**"
>> Aug 17, 2012 12:39:26 PM null
>>
>> Any advice regarding what I might be doing wrong ?  2-1 seems to equal 0
>> here :-)
>>
>>
>>
>>
>>

Re: Exceptions in my deployed environment

Posted by Romain Manni-Bucau <rm...@gmail.com>.
Did you generate jpa meta classes?
Le 17 août 2012 22:14, "David Nordahl" <da...@thinkology.org> a écrit :

> I'm having trouble making TomEE happy on my deployed server and I'm not
> sure what is different from my dev environment.  Basically I have my EJB
> class files included in a jar in the lib folder of TomEE as well as in my
> deployed WAR web app.
>
> When EJBs are invoked, I get exceptions like:
>
> ClassCastException: cannot convert class A to class A.
>
> I also get exceptions about duplicate NamedQuery's.
>
> So I assume duplicate instances of class files present and TomEE is not
> able to sort this out for some reason.  So if I remove the EJB classes
> contained in the /lib folder jar of my class files, I get:
>
> WARNING: Meta class "com.company.entities.**Customer_" for entity class
> com.company.entities.Customer can not be registered with following
> exception "java.security.**PrivilegedActionException: java.lang.**ClassNotFoundException:
> com.company.entities.Customer_**"
> Aug 17, 2012 12:39:26 PM null
>
> Any advice regarding what I might be doing wrong ?  2-1 seems to equal 0
> here :-)
>
>
>
>
>

Exceptions in my deployed environment

Posted by David Nordahl <da...@thinkology.org>.
I'm having trouble making TomEE happy on my deployed server and I'm not 
sure what is different from my dev environment.  Basically I have my EJB 
class files included in a jar in the lib folder of TomEE as well as in 
my deployed WAR web app.

When EJBs are invoked, I get exceptions like:

ClassCastException: cannot convert class A to class A.

I also get exceptions about duplicate NamedQuery's.

So I assume duplicate instances of class files present and TomEE is not 
able to sort this out for some reason.  So if I remove the EJB classes 
contained in the /lib folder jar of my class files, I get:

WARNING: Meta class "com.company.entities.Customer_" for entity class 
com.company.entities.Customer can not be registered with following 
exception "java.security.PrivilegedActionException: 
java.lang.ClassNotFoundException: com.company.entities.Customer_"
Aug 17, 2012 12:39:26 PM null

Any advice regarding what I might be doing wrong ?  2-1 seems to equal 0 
here :-)





Re: Detected Reentrant Flush - Trouble with merge / update

Posted by Romain Manni-Bucau <rm...@gmail.com>.
maybe try a find in your ejb before the merge to let you rentity be managed
and to be allowed to merge.

FYI the snapshot is not the beta-3 but the 1.1.0-SNAPSHOT.

- Romain


2012/7/9 David Nordahl <da...@thinkology.org>

> I looked at it again today, and it looks like it is not deploying on the
> beta3 version for some reason, but I don't see any errors or attempts in
> the log.  I will look at it more later, but for now I would like to try to
> work around any issues with the last production release if possible.
>
> I can now get queries and inserts to work, but am having trouble with the
> updates.  It looks like it is also related to auto-increment/generated key
> stuff.  Perhaps the way I'm going about it is incorrect:
>
> Properties properties = new Properties();
> properties.setProperty(**Context.INITIAL_CONTEXT_**FACTORY,
> "org.apache.openejb.client.**LocalInitialContextFactory");
> InitialContext initialContext = new InitialContext(properties);
> Object object = initialContext.lookup("**UserFacadeLocal");
> UserFacadeLocal userFacade = (UserFacadeLocal) object;
> EntityManager em = userFacade.getEntityManager();
> Query query = em.createNamedQuery("User.**findByUserName");
> query.setParameter("userName", "admin");
> User result;
> try {
>     result = (User) query.getSingleResult();
> } catch (NoResultException e) {
>     result = null;
> }
> result.setEmail("meow@meow.cat**");
> userFacade.edit(result);
>
> I get the error:
>
> "Primary key field com.iball.server.entities.**User.userId of
> com.iball.server.entities.**User@64def7 has non-default value. The
> instance life cycle is in PNewState state and hence an existing non-default
> value for the identity field is not permitted. You either need to remove
> the @GeneratedValue annotation or modify the code to remove the initializer
> processing."
>
> The generated value annotation present is:
>
> @Id
> @GeneratedValue(strategy = GenerationType.IDENTITY)
> @Basic
> @Column(name = "user_id")
> private Integer userId;
>
> I also tried GenerationType.AUTO and removing the auto increment setting
> on the DB but it didn't help
>
> The userFacade.edit(result) method is calling getEntityManager().merge(**
> entity);
>
>
>
> On 7/9/2012 12:11 AM, Romain Manni-Bucau wrote:
>
>> You should at least share your logs or (better) a sample otherwise helping
>> you is hard. Generally it is faster than 'trying' things.
>>
>> - Romun
>> Le 9 juil. 2012 03:20, "David Nordahl"<da...@thinkology.org>  a écrit :
>>
>>  Tried the snap shot.. I get an error in Netbeans saying that it can't
>>> deploy the app and to check the server log, yet the server log has no
>>> errors and shows the app deploying successfully yet I cannot open the web
>>> host in the browser.  I give up... I could have written all the middle
>>> ware
>>> needed for this project myself by now.  Thanks for your efforts.
>>>
>>> On 7/8/2012 4:56 PM, Romain Manni-Bucau wrote:
>>>
>>>  hmm
>>>>
>>>> you use tomee 1.0.0
>>>>
>>>> can you give it a try to the snapshot please? we worked a bit on
>>>> netbeans
>>>> integration.
>>>>
>>>> - Romain
>>>>
>>>>
>>>> 2012/7/8 David Nordahl<da...@thinkology.org>
>>>>
>>>>   Btw.. Is it normal to have these exceptions on startup?  I saw another
>>>>
>>>>> post saying they were, but I thought I might double check.  I seem to
>>>>> be
>>>>> able to query through open EJB, but not update and add.  I'm also
>>>>> wondering
>>>>> if there is anyway that the reentrant flush error is covering up
>>>>> another
>>>>> error.  I guess I can start working on a test case.. I wish I could
>>>>> just
>>>>> find a netbeans JSP2.0/EJB/TomEE sample project where everything was
>>>>> already setup correctly.
>>>>>
>>>>> SEVERE: Error in safeBind method
>>>>> javax.naming.******NameNotFoundException: Name [openejb] is not bound
>>>>> in
>>>>> this
>>>>> Context. Unable to find [openejb].
>>>>>       at org.apache.naming.******NamingContext.lookup(****
>>>>> NamingContext.java:820)
>>>>>       at org.apache.naming.******NamingContext.lookup(****
>>>>> NamingContext.java:168)
>>>>>       at org.apache.tomee.catalina.******
>>>>> TomcatWebAppBuilder.safeBind(******
>>>>> TomcatWebAppBuilder.java:1196)
>>>>>       at org.apache.tomee.catalina.******TomcatWebAppBuilder.****
>>>>> afterStart(**
>>>>> TomcatWebAppBuilder.java:776)
>>>>>       at org.apache.tomee.catalina.******GlobalListenerSupport.****
>>>>> lifecycleEvent(
>>>>> **GlobalListenerSupport.java:******103)
>>>>>       at org.apache.catalina.util.******LifecycleSupport.****
>>>>> fireLifecycleEvent(**
>>>>> LifecycleSupport.java:119)
>>>>>       at org.apache.catalina.util.******LifecycleBase.****
>>>>> fireLifecycleEvent(**
>>>>> LifecycleBase.java:90)
>>>>>       at org.apache.catalina.util.******LifecycleBase.****
>>>>> setStateInternal(**
>>>>> LifecycleBase.java:401)
>>>>>       at org.apache.catalina.util.******LifecycleBase.start(**
>>>>> LifecycleBase.java:168)
>>>>>       at org.apache.catalina.core.******ContainerBase.****
>>>>> addChildInternal(**
>>>>> ContainerBase.java:895)
>>>>>       at org.apache.catalina.core.******ContainerBase.addChild(**
>>>>> ContainerBase.java:871)
>>>>>       at org.apache.catalina.core.******StandardHost.addChild(**
>>>>> StandardHost.java:615)
>>>>>       at org.apache.catalina.startup.****
>>>>> **HostConfig.deployDescriptor(****
>>>>> HostConfig.java:649)
>>>>>       at org.apache.catalina.startup.******HostConfig.deployApps(**
>>>>> HostConfig.java:530)
>>>>>       at org.apache.catalina.startup.****
>>>>> **HostConfig.check(HostConfig.****
>>>>> java:1471)
>>>>>       at sun.reflect.******NativeMethodAccessorImpl.******
>>>>> invoke0(Native
>>>>> Method)
>>>>>       at sun.reflect.******NativeMethodAccessorImpl.******invoke(**
>>>>> NativeMethodAccessorImpl.java:******57)
>>>>>       at sun.reflect.******DelegatingMethodAccessorImpl.***
>>>>> ***invoke(**
>>>>> DelegatingMethodAccessorImpl.******java:43)
>>>>>       at java.lang.reflect.Method.******invoke(Method.java:601)
>>>>>       at org.apache.tomcat.util.******modeler.BaseModelMBean.invoke(**
>>>>> ****
>>>>> BaseModelMBean.java:301)
>>>>>       at com.sun.jmx.interceptor.******DefaultMBeanServerInterceptor.*
>>>>> ***
>>>>> **invoke(**
>>>>> DefaultMBeanServerInterceptor.******java:819)
>>>>>       at com.sun.jmx.mbeanserver.******JmxMBeanServer.invoke(**
>>>>> JmxMBeanServer.java:791)
>>>>>       at org.apache.catalina.manager.******ManagerServlet.check(**
>>>>> ManagerServlet.java:1436)
>>>>>       at org.apache.catalina.manager.******ManagerServlet.deploy(**
>>>>> ManagerServlet.java:856)
>>>>>       at org.apache.catalina.manager.******ManagerServlet.doGet(**
>>>>> ManagerServlet.java:353)
>>>>>       at javax.servlet.http.******HttpServlet.service(****
>>>>> HttpServlet.java:621)
>>>>>       at javax.servlet.http.******HttpServlet.service(****
>>>>> HttpServlet.java:722)
>>>>>       at org.apache.catalina.core.******ApplicationFilterChain.**
>>>>> internalDoFilter(******ApplicationFilterChain.java:******305)
>>>>>       at org.apache.catalina.core.******ApplicationFilterChain.****
>>>>> doFilter(**
>>>>> ApplicationFilterChain.java:******210)
>>>>>       at org.apache.catalina.filters.****
>>>>> **SetCharacterEncodingFilter.****
>>>>> doFilter(******SetCharacterEncodingFilter.******java:108)
>>>>>       at org.apache.catalina.core.******ApplicationFilterChain.**
>>>>> internalDoFilter(******ApplicationFilterChain.java:******243)
>>>>>       at org.apache.catalina.core.******ApplicationFilterChain.****
>>>>> doFilter(**
>>>>> ApplicationFilterChain.java:******210)
>>>>>       at org.apache.catalina.core.******StandardWrapperValve.invoke(**
>>>>> StandardWrapperValve.java:225)
>>>>>       at org.apache.catalina.core.******StandardContextValve.invoke(**
>>>>> StandardContextValve.java:169)
>>>>>       at org.apache.tomee.catalina.******OpenEJBValve.invoke(**
>>>>> OpenEJBValve.java:44)
>>>>>       at org.apache.catalina.******authenticator.****
>>>>> AuthenticatorBase.invoke(**
>>>>> AuthenticatorBase.java:581)
>>>>>       at org.apache.catalina.core.******StandardHostValve.invoke(**
>>>>> StandardHostValve.java:168)
>>>>>       at org.apache.catalina.valves.******ErrorReportValve.invoke(**
>>>>> ErrorReportValve.java:98)
>>>>>       at org.apache.catalina.valves.******AccessLogValve.invoke(**
>>>>> AccessLogValve.java:927)
>>>>>       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:******999)
>>>>>       at org.apache.coyote.******AbstractProtocol$****
>>>>> AbstractConnectionHandler.**
>>>>> process(AbstractProtocol.java:******565)
>>>>>       at org.apache.tomcat.util.net.*****
>>>>> *JIoEndpoint$SocketProcessor.****
>>>>> run(JIoEndpoint.java:309)
>>>>>       at java.util.concurrent.******ThreadPoolExecutor.runWorker(***
>>>>> ***
>>>>> ThreadPoolExecutor.java:1110)
>>>>>       at java.util.concurrent.******ThreadPoolExecutor$Worker.run(**
>>>>> ****
>>>>> ThreadPoolExecutor.java:603)
>>>>>       at java.lang.Thread.run(Thread.******java:722)
>>>>>
>>>>> Jul 08, 2012 4:40:06 PM org.apache.tomee.catalina.****
>>>>> TomcatWebAppBuilder
>>>>> safeBind
>>>>> INFO: TransactionManager already bound, ignoring
>>>>> Jul 08, 2012 4:40:06 PM org.apache.tomee.catalina.****
>>>>> TomcatWebAppBuilder
>>>>> safeBind
>>>>> INFO: TransactionSynchronizationRegi******stry already bound, ignoring
>>>>> Jul 08, 2012 4:40:06 PM org.apache.tomee.catalina.****
>>>>> TomcatWebAppBuilder
>>>>> safeBind
>>>>> SEVERE: Error in safeBind method
>>>>> javax.naming.******NameNotFoundException: No ORB registered with the
>>>>> OpenEJB
>>>>> system
>>>>>       at org.apache.openejb.core.ivm.******naming.****
>>>>> SystemComponentReference.**
>>>>> getObject(******SystemComponentReference.java:******38)
>>>>>       at org.apache.openejb.core.ivm.****
>>>>> **naming.Reference.getContent(****
>>>>> Reference.java:40)
>>>>>       at org.apache.xbean.naming.******reference.SimpleReference$**
>>>>> SimpleObjectFactory.******getObjectInstance(******
>>>>> SimpleReference.java:137)
>>>>>       at javax.naming.spi.******NamingManager.******
>>>>> getObjectInstance(**
>>>>> NamingManager.java:321)
>>>>>       at org.apache.naming.******NamingContext.lookup(****
>>>>> NamingContext.java:843)
>>>>>       at org.apache.naming.******NamingContext.lookup(****
>>>>> NamingContext.java:168)
>>>>>       at org.apache.tomee.catalina.******
>>>>> TomcatWebAppBuilder.safeBind(******
>>>>> TomcatWebAppBuilder.java:1196)
>>>>>       at org.apache.tomee.catalina.******TomcatWebAppBuilder.****
>>>>> afterStart(**
>>>>> TomcatWebAppBuilder.java:806)
>>>>>       at org.apache.tomee.catalina.******GlobalListenerSupport.****
>>>>> lifecycleEvent(
>>>>> **GlobalListenerSupport.java:******103)
>>>>>       at org.apache.catalina.util.******LifecycleSupport.****
>>>>> fireLifecycleEvent(**
>>>>> LifecycleSupport.java:119)
>>>>>       at org.apache.catalina.util.******LifecycleBase.****
>>>>> fireLifecycleEvent(**
>>>>> LifecycleBase.java:90)
>>>>>       at org.apache.catalina.util.******LifecycleBase.****
>>>>> setStateInternal(**
>>>>> LifecycleBase.java:401)
>>>>>       at org.apache.catalina.util.******LifecycleBase.start(**
>>>>> LifecycleBase.java:168)
>>>>>       at org.apache.catalina.core.******ContainerBase.****
>>>>> addChildInternal(**
>>>>> ContainerBase.java:895)
>>>>>       at org.apache.catalina.core.******ContainerBase.addChild(**
>>>>> ContainerBase.java:871)
>>>>>       at org.apache.catalina.core.******StandardHost.addChild(**
>>>>> StandardHost.java:615)
>>>>>       at org.apache.catalina.startup.****
>>>>> **HostConfig.deployDescriptor(****
>>>>> HostConfig.java:649)
>>>>>       at org.apache.catalina.startup.******HostConfig.deployApps(**
>>>>> HostConfig.java:530)
>>>>>       at org.apache.catalina.startup.****
>>>>> **HostConfig.check(HostConfig.****
>>>>> java:1471)
>>>>>       at sun.reflect.******NativeMethodAccessorImpl.******
>>>>> invoke0(Native
>>>>> Method)
>>>>>       at sun.reflect.******NativeMethodAccessorImpl.******invoke(**
>>>>> NativeMethodAccessorImpl.java:******57)
>>>>>       at sun.reflect.******DelegatingMethodAccessorImpl.***
>>>>> ***invoke(**
>>>>> DelegatingMethodAccessorImpl.******java:43)
>>>>>       at java.lang.reflect.Method.******invoke(Method.java:601)
>>>>>       at org.apache.tomcat.util.******modeler.BaseModelMBean.invoke(**
>>>>> ****
>>>>> BaseModelMBean.java:301)
>>>>>       at com.sun.jmx.interceptor.******DefaultMBeanServerInterceptor.*
>>>>> ***
>>>>> **invoke(**
>>>>> DefaultMBeanServerInterceptor.******java:819)
>>>>>       at com.sun.jmx.mbeanserver.******JmxMBeanServer.invoke(**
>>>>> JmxMBeanServer.java:791)
>>>>>       at org.apache.catalina.manager.******ManagerServlet.check(**
>>>>> ManagerServlet.java:1436)
>>>>>       at org.apache.catalina.manager.******ManagerServlet.deploy(**
>>>>> ManagerServlet.java:856)
>>>>>       at org.apache.catalina.manager.******ManagerServlet.doGet(**
>>>>> ManagerServlet.java:353)
>>>>>       at javax.servlet.http.******HttpServlet.service(****
>>>>> HttpServlet.java:621)
>>>>>       at javax.servlet.http.******HttpServlet.service(****
>>>>> HttpServlet.java:722)
>>>>>       at org.apache.catalina.core.******ApplicationFilterChain.**
>>>>> internalDoFilter(******ApplicationFilterChain.java:******305)
>>>>>       at org.apache.catalina.core.******ApplicationFilterChain.****
>>>>> doFilter(**
>>>>> ApplicationFilterChain.java:******210)
>>>>>       at org.apache.catalina.filters.****
>>>>> **SetCharacterEncodingFilter.****
>>>>> doFilter(******SetCharacterEncodingFilter.******java:108)
>>>>>       at org.apache.catalina.core.******ApplicationFilterChain.**
>>>>> internalDoFilter(******ApplicationFilterChain.java:******243)
>>>>>       at org.apache.catalina.core.******ApplicationFilterChain.****
>>>>> doFilter(**
>>>>> ApplicationFilterChain.java:******210)
>>>>>       at org.apache.catalina.core.******StandardWrapperValve.invoke(**
>>>>> StandardWrapperValve.java:225)
>>>>>       at org.apache.catalina.core.******StandardContextValve.invoke(**
>>>>> StandardContextValve.java:169)
>>>>>       at org.apache.tomee.catalina.******OpenEJBValve.invoke(**
>>>>> OpenEJBValve.java:44)
>>>>>       at org.apache.catalina.******authenticator.****
>>>>> AuthenticatorBase.invoke(**
>>>>> AuthenticatorBase.java:581)
>>>>>       at org.apache.catalina.core.******StandardHostValve.invoke(**
>>>>> StandardHostValve.java:168)
>>>>>       at org.apache.catalina.valves.******ErrorReportValve.invoke(**
>>>>> ErrorReportValve.java:98)
>>>>>       at org.apache.catalina.valves.******AccessLogValve.invoke(**
>>>>> AccessLogValve.java:927)
>>>>>       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:******999)
>>>>>       at org.apache.coyote.******AbstractProtocol$****
>>>>> AbstractConnectionHandler.**
>>>>> process(AbstractProtocol.java:******565)
>>>>>       at org.apache.tomcat.util.net.*****
>>>>> *JIoEndpoint$SocketProcessor.****
>>>>> run(JIoEndpoint.java:309)
>>>>>       at java.util.concurrent.******ThreadPoolExecutor.runWorker(***
>>>>> ***
>>>>> ThreadPoolExecutor.java:1110)
>>>>>       at java.util.concurrent.******ThreadPoolExecutor$Worker.run(**
>>>>> ****
>>>>> ThreadPoolExecutor.java:603)
>>>>>       at java.lang.Thread.run(Thread.******java:722)
>>>>>
>>>>> Jul 08, 2012 4:40:43 PM org.apache.tomee.catalina.****
>>>>> TomcatWebAppBuilder
>>>>> safeBind
>>>>> SEVERE: Error in safeBind method
>>>>> javax.naming.******NameNotFoundException: No HandleDelegate registered
>>>>> with
>>>>> the OpenEJB system
>>>>>       at org.apache.openejb.core.ivm.******naming.****
>>>>> SystemComponentReference.**
>>>>> getObject(******SystemComponentReference.java:******38)
>>>>>       at org.apache.openejb.core.ivm.****
>>>>> **naming.Reference.getContent(****
>>>>> Reference.java:40)
>>>>>       at org.apache.xbean.naming.******reference.SimpleReference$**
>>>>> SimpleObjectFactory.******getObjectInstance(******
>>>>> SimpleReference.java:137)
>>>>>       at javax.naming.spi.******NamingManager.******
>>>>> getObjectInstance(**
>>>>> NamingManager.java:321)
>>>>>       at org.apache.naming.******NamingContext.lookup(****
>>>>> NamingContext.java:843)
>>>>>       at org.apache.naming.******NamingContext.lookup(****
>>>>> NamingContext.java:168)
>>>>>       at org.apache.tomee.catalina.******
>>>>> TomcatWebAppBuilder.safeBind(******
>>>>> TomcatWebAppBuilder.java:1196)
>>>>>       at org.apache.tomee.catalina.******TomcatWebAppBuilder.****
>>>>> afterStart(**
>>>>> TomcatWebAppBuilder.java:807)
>>>>>       at org.apache.tomee.catalina.******GlobalListenerSupport.****
>>>>> lifecycleEvent(
>>>>> **GlobalListenerSupport.java:******103)
>>>>>       at org.apache.catalina.util.******LifecycleSupport.****
>>>>> fireLifecycleEvent(**
>>>>> LifecycleSupport.java:119)
>>>>>       at org.apache.catalina.util.******LifecycleBase.****
>>>>> fireLifecycleEvent(**
>>>>> LifecycleBase.java:90)
>>>>>       at org.apache.catalina.util.******LifecycleBase.****
>>>>> setStateInternal(**
>>>>> LifecycleBase.java:401)
>>>>>       at org.apache.catalina.util.******LifecycleBase.start(**
>>>>> LifecycleBase.java:168)
>>>>>       at org.apache.catalina.core.******ContainerBase.****
>>>>> addChildInternal(**
>>>>> ContainerBase.java:895)
>>>>>       at org.apache.catalina.core.******ContainerBase.addChild(**
>>>>> ContainerBase.java:871)
>>>>>       at org.apache.catalina.core.******StandardHost.addChild(**
>>>>> StandardHost.java:615)
>>>>>       at org.apache.catalina.startup.****
>>>>> **HostConfig.deployDescriptor(****
>>>>> HostConfig.java:649)
>>>>>       at org.apache.catalina.startup.******HostConfig.deployApps(**
>>>>> HostConfig.java:530)
>>>>>       at org.apache.catalina.startup.****
>>>>> **HostConfig.check(HostConfig.****
>>>>> java:1471)
>>>>>       at sun.reflect.******NativeMethodAccessorImpl.******
>>>>> invoke0(Native
>>>>> Method)
>>>>>       at sun.reflect.******NativeMethodAccessorImpl.******invoke(**
>>>>> NativeMethodAccessorImpl.java:******57)
>>>>>       at sun.reflect.******DelegatingMethodAccessorImpl.***
>>>>> ***invoke(**
>>>>> DelegatingMethodAccessorImpl.******java:43)
>>>>>       at java.lang.reflect.Method.******invoke(Method.java:601)
>>>>>       at org.apache.tomcat.util.******modeler.BaseModelMBean.invoke(**
>>>>> ****
>>>>> BaseModelMBean.java:301)
>>>>>       at com.sun.jmx.interceptor.******DefaultMBeanServerInterceptor.*
>>>>> ***
>>>>> **invoke(**
>>>>> DefaultMBeanServerInterceptor.******java:819)
>>>>>       at com.sun.jmx.mbeanserver.******JmxMBeanServer.invoke(**
>>>>> JmxMBeanServer.java:791)
>>>>>       at org.apache.catalina.manager.******ManagerServlet.check(**
>>>>> ManagerServlet.java:1436)
>>>>>       at org.apache.catalina.manager.******ManagerServlet.deploy(**
>>>>> ManagerServlet.java:856)
>>>>>       at org.apache.catalina.manager.******ManagerServlet.doGet(**
>>>>> ManagerServlet.java:353)
>>>>>       at javax.servlet.http.******HttpServlet.service(****
>>>>> HttpServlet.java:621)
>>>>>       at javax.servlet.http.******HttpServlet.service(****
>>>>> HttpServlet.java:722)
>>>>>       at org.apache.catalina.core.******ApplicationFilterChain.**
>>>>> internalDoFilter(******ApplicationFilterChain.java:******305)
>>>>>       at org.apache.catalina.core.******ApplicationFilterChain.****
>>>>> doFilter(**
>>>>> ApplicationFilterChain.java:******210)
>>>>>       at org.apache.catalina.filters.****
>>>>> **SetCharacterEncodingFilter.****
>>>>> doFilter(******SetCharacterEncodingFilter.******java:108)
>>>>>       at org.apache.catalina.core.******ApplicationFilterChain.**
>>>>> internalDoFilter(******ApplicationFilterChain.java:******243)
>>>>>       at org.apache.catalina.core.******ApplicationFilterChain.****
>>>>> doFilter(**
>>>>> ApplicationFilterChain.java:******210)
>>>>>       at org.apache.catalina.core.******StandardWrapperValve.invoke(**
>>>>> StandardWrapperValve.java:225)
>>>>>       at org.apache.catalina.core.******StandardContextValve.invoke(**
>>>>> StandardContextValve.java:169)
>>>>>       at org.apache.tomee.catalina.******OpenEJBValve.invoke(**
>>>>> OpenEJBValve.java:44)
>>>>>       at org.apache.catalina.******authenticator.****
>>>>> AuthenticatorBase.invoke(**
>>>>> AuthenticatorBase.java:581)
>>>>>       at org.apache.catalina.core.******StandardHostValve.invoke(**
>>>>> StandardHostValve.java:168)
>>>>>       at org.apache.catalina.valves.******ErrorReportValve.invoke(**
>>>>> ErrorReportValve.java:98)
>>>>>       at org.apache.catalina.valves.******AccessLogValve.invoke(**
>>>>> AccessLogValve.java:927)
>>>>>       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:******999)
>>>>>       at org.apache.coyote.******AbstractProtocol$****
>>>>> AbstractConnectionHandler.**
>>>>> process(AbstractProtocol.java:******565)
>>>>>       at org.apache.tomcat.util.net.*****
>>>>> *JIoEndpoint$SocketProcessor.****
>>>>> run(JIoEndpoint.java:309)
>>>>>       at java.util.concurrent.******ThreadPoolExecutor.runWorker(***
>>>>> ***
>>>>> ThreadPoolExecutor.java:1110)
>>>>>       at java.util.concurrent.******ThreadPoolExecutor$Worker.run(**
>>>>> ****
>>>>> ThreadPoolExecutor.java:603)
>>>>>       at java.lang.Thread.run(Thread.******java:722)
>>>>>
>>>>>
>>>>>
>>>>> On 7/8/2012 4:32 PM, Romain Manni-Bucau wrote:
>>>>>
>>>>>   i don't think so,
>>>>>
>>>>>> can you try moving your code in a unit test to see if it still happen?
>>>>>>
>>>>>> - Romain
>>>>>>
>>>>>>
>>>>>> 2012/7/8 David Nordahl<da...@thinkology.org>
>>>>>>
>>>>>>    Could it be the Tomcat JDBCRealm I have enforcing container managed
>>>>>>
>>>>>>  security from user data in the same table?
>>>>>>>
>>>>>>>
>>>>>>> On 7/8/2012 4:14 PM, Romain Manni-Bucau wrote:
>>>>>>>
>>>>>>>    i can't say no but i'm pretty sure it is something in the
>>>>>>> container
>>>>>>>
>>>>>>>  rather
>>>>>>>> in the DB.
>>>>>>>>
>>>>>>>> - Romain
>>>>>>>>
>>>>>>>>
>>>>>>>> 2012/7/8 David Nordahl<da...@thinkology.org>
>>>>>>>>
>>>>>>>>     Maybe the DB settings could have something to do with it? I'm
>>>>>>>> using
>>>>>>>> MySQL
>>>>>>>>
>>>>>>>>   with it's default setup which uses InnoDB.  I notice in the
>>>>>>>>
>>>>>>>>> documentation
>>>>>>>>> that "InnoDB, with innodb_flush_log_at_trx_commit set to 1, flushes
>>>>>>>>> the
>>>>>>>>> transaction log after each transaction, greatly improving
>>>>>>>>> reliability."
>>>>>>>>>
>>>>>>>>> Could some DB setting like this be causing the issue?
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On 7/8/2012 3:39 PM, Romain Manni-Bucau wrote:
>>>>>>>>>
>>>>>>>>>     can you share a small sample to reproduce it, will be easier to
>>>>>>>>> help
>>>>>>>>>
>>>>>>>>>   you?
>>>>>>>>>
>>>>>>>>>> - Romain
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> 2012/7/8 David Nordahl<da...@thinkology.org>
>>>>>>>>>>
>>>>>>>>>>      Not that I've configured.. Unless one of the annotations
>>>>>>>>>> creates
>>>>>>>>>> one:
>>>>>>>>>>
>>>>>>>>>>    @Entity
>>>>>>>>>>
>>>>>>>>>>  @Table(name = "user")
>>>>>>>>>>> @XmlRootElement
>>>>>>>>>>> @NamedQueries({
>>>>>>>>>>>          @NamedQuery(name = "User.findAll", query = "SELECT u
>>>>>>>>>>> FROM
>>>>>>>>>>> User
>>>>>>>>>>> u"),
>>>>>>>>>>>          @NamedQuery(name = "User.findByUserId", query = "SELECT
>>>>>>>>>>> u
>>>>>>>>>>> FROM
>>>>>>>>>>> User
>>>>>>>>>>> u
>>>>>>>>>>> WHERE u.userId = :userId"),
>>>>>>>>>>>          @NamedQuery(name = "User.findByUserName", query =
>>>>>>>>>>> "SELECT u
>>>>>>>>>>> FROM
>>>>>>>>>>> User
>>>>>>>>>>> u WHERE u.userName = :userName"),
>>>>>>>>>>>          @NamedQuery(name = "User.findByPassword", query =
>>>>>>>>>>> "SELECT u
>>>>>>>>>>> FROM
>>>>>>>>>>> User
>>>>>>>>>>> u WHERE u.password = :password"),
>>>>>>>>>>>          @NamedQuery(name = "User.findByEmail", query = "SELECT u
>>>>>>>>>>> FROM
>>>>>>>>>>> User u
>>>>>>>>>>> WHERE u.email = :email"),
>>>>>>>>>>>          @NamedQuery(name = "User.findByFirstName", query =
>>>>>>>>>>> "SELECT
>>>>>>>>>>> u
>>>>>>>>>>> FROM
>>>>>>>>>>> User
>>>>>>>>>>> u WHERE u.firstName = :firstName"),
>>>>>>>>>>>          @NamedQuery(name = "User.findByLastName", query =
>>>>>>>>>>> "SELECT u
>>>>>>>>>>> FROM
>>>>>>>>>>> User
>>>>>>>>>>> u WHERE u.lastName = :lastName"),
>>>>>>>>>>>          @NamedQuery(name = "User.findByLoginFailures", query =
>>>>>>>>>>> "SELECT u
>>>>>>>>>>> FROM
>>>>>>>>>>> User u WHERE u.loginFailures = :loginFailures"),
>>>>>>>>>>>          @NamedQuery(name = "User.findByLastLoginFailure", query
>>>>>>>>>>> =
>>>>>>>>>>> "SELECT u
>>>>>>>>>>> FROM User u WHERE u.lastLoginFailure = :lastLoginFailure")})
>>>>>>>>>>> public class User implements Serializable {
>>>>>>>>>>>          private static final long serialVersionUID = 1L;
>>>>>>>>>>>          @Id
>>>>>>>>>>>          @GeneratedValue(strategy = GenerationType.IDENTITY)
>>>>>>>>>>>          @Basic(optional = false)
>>>>>>>>>>>          @Column(name = "user_id")
>>>>>>>>>>>          private Integer userId;
>>>>>>>>>>>          @Basic(optional = false)
>>>>>>>>>>>          @Column(name = "user_name")
>>>>>>>>>>>          private String userName;
>>>>>>>>>>>          @Basic(optional = false)
>>>>>>>>>>>          @Column(name = "password")
>>>>>>>>>>>          private String password;
>>>>>>>>>>>          @Column(name = "email")
>>>>>>>>>>>          private String email;
>>>>>>>>>>>          @Column(name = "first_name")
>>>>>>>>>>>          private String firstName;
>>>>>>>>>>>          @Column(name = "last_name")
>>>>>>>>>>>          private String lastName;
>>>>>>>>>>>          @Column(name = "login_failures")
>>>>>>>>>>>          private Integer loginFailures;
>>>>>>>>>>>          @Column(name = "last_login_failure")
>>>>>>>>>>>          @Temporal(TemporalType.************TIMESTAMP)
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>          private Date lastLoginFailure;
>>>>>>>>>>>          @JoinColumn(name = "associated_customer",
>>>>>>>>>>> referencedColumnName =
>>>>>>>>>>> "customer_id")
>>>>>>>>>>>          @ManyToOne
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> On 7/8/2012 3:25 PM, Romain Manni-Bucau wrote:
>>>>>>>>>>>
>>>>>>>>>>>      Hi,
>>>>>>>>>>>
>>>>>>>>>>>    any entity listener playing with id or special field on User
>>>>>>>>>>> entity?
>>>>>>>>>>>
>>>>>>>>>>>  - Romain
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> 2012/7/8 David Nordahl<da...@thinkology.org>
>>>>>>>>>>>>
>>>>>>>>>>>>       I'm attempting the code:
>>>>>>>>>>>>
>>>>>>>>>>>>     Properties properties = new Properties();
>>>>>>>>>>>>
>>>>>>>>>>>>   properties.setProperty(*********
>>>>>>>>>>>> *****Context.INITIAL_CONTEXT_*******
>>>>>>>>>>>>
>>>>>>>>>>>>> ****
>>>>>>>>>>>>> ***
>>>>>>>>>>>>> FACTORY,
>>>>>>>>>>>>> "org.apache.openejb.client.****************
>>>>>>>>>>>>> LocalInitialContextFactory"**)******;
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> InitialContext initialContext = new InitialContext(properties);
>>>>>>>>>>>>> Object object = initialContext.lookup("*************
>>>>>>>>>>>>> *UserFacadeLocal");
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> UserFacadeLocal userFacade = (UserFacadeLocal) object;
>>>>>>>>>>>>> User newuser = new User();
>>>>>>>>>>>>> newuser.setEmail("cow@cow.moo"**************);
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> newuser.setUserName("steve");
>>>>>>>>>>>>> newuser.setPassword("cows");
>>>>>>>>>>>>> userFacade.create(newuser);
>>>>>>>>>>>>>
>>>>>>>>>>>>> but keep getting "org.apache.openjpa.**************
>>>>>>>>>>>>> persistence.****
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> InvalidStateException:
>>>>>>>>>>>>>
>>>>>>>>>>>>> Detected reentrant flush.  Make sure your flush-time instance
>>>>>>>>>>>>> callback
>>>>>>>>>>>>> methods or event listeners do not invoke any operations that
>>>>>>>>>>>>> require
>>>>>>>>>>>>> the
>>>>>>>>>>>>> in-progress flush to complete."
>>>>>>>>>>>>>
>>>>>>>>>>>>> I tried setting "openjpa.FlushBeforeQueries" to false just to
>>>>>>>>>>>>> see
>>>>>>>>>>>>> if
>>>>>>>>>>>>> I
>>>>>>>>>>>>> can
>>>>>>>>>>>>> get the error to go away, but it makes no difference.  I can't
>>>>>>>>>>>>> find a
>>>>>>>>>>>>> flush() call in my project and according to the table in the
>>>>>>>>>>>>> docs,
>>>>>>>>>>>>> flush
>>>>>>>>>>>>> is
>>>>>>>>>>>>> not called if this parameter is set.  What am I not doing
>>>>>>>>>>>>> correctly
>>>>>>>>>>>>> here?
>>>>>>>>>>>>>
>>>>>>>>>>>>> Thank you,
>>>>>>>>>>>>> David
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>

Re: Detected Reentrant Flush - Trouble with merge / update

Posted by David Nordahl <da...@thinkology.org>.
I looked at it again today, and it looks like it is not deploying on the 
beta3 version for some reason, but I don't see any errors or attempts in 
the log.  I will look at it more later, but for now I would like to try 
to work around any issues with the last production release if possible.

I can now get queries and inserts to work, but am having trouble with 
the updates.  It looks like it is also related to 
auto-increment/generated key stuff.  Perhaps the way I'm going about it 
is incorrect:

Properties properties = new Properties();
properties.setProperty(Context.INITIAL_CONTEXT_FACTORY, 
"org.apache.openejb.client.LocalInitialContextFactory");
InitialContext initialContext = new InitialContext(properties);
Object object = initialContext.lookup("UserFacadeLocal");
UserFacadeLocal userFacade = (UserFacadeLocal) object;
EntityManager em = userFacade.getEntityManager();
Query query = em.createNamedQuery("User.findByUserName");
query.setParameter("userName", "admin");
User result;
try {
     result = (User) query.getSingleResult();
} catch (NoResultException e) {
     result = null;
}
result.setEmail("meow@meow.cat");
userFacade.edit(result);

I get the error:

"Primary key field com.iball.server.entities.User.userId of 
com.iball.server.entities.User@64def7 has non-default value. The 
instance life cycle is in PNewState state and hence an existing 
non-default value for the identity field is not permitted. You either 
need to remove the @GeneratedValue annotation or modify the code to 
remove the initializer processing."

The generated value annotation present is:

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic
@Column(name = "user_id")
private Integer userId;

I also tried GenerationType.AUTO and removing the auto increment setting 
on the DB but it didn't help

The userFacade.edit(result) method is calling 
getEntityManager().merge(entity);



On 7/9/2012 12:11 AM, Romain Manni-Bucau wrote:
> You should at least share your logs or (better) a sample otherwise helping
> you is hard. Generally it is faster than 'trying' things.
>
> - Romun
> Le 9 juil. 2012 03:20, "David Nordahl"<da...@thinkology.org>  a écrit :
>
>> Tried the snap shot.. I get an error in Netbeans saying that it can't
>> deploy the app and to check the server log, yet the server log has no
>> errors and shows the app deploying successfully yet I cannot open the web
>> host in the browser.  I give up... I could have written all the middle ware
>> needed for this project myself by now.  Thanks for your efforts.
>>
>> On 7/8/2012 4:56 PM, Romain Manni-Bucau wrote:
>>
>>> hmm
>>>
>>> you use tomee 1.0.0
>>>
>>> can you give it a try to the snapshot please? we worked a bit on netbeans
>>> integration.
>>>
>>> - Romain
>>>
>>>
>>> 2012/7/8 David Nordahl<da...@thinkology.org>
>>>
>>>   Btw.. Is it normal to have these exceptions on startup?  I saw another
>>>> post saying they were, but I thought I might double check.  I seem to be
>>>> able to query through open EJB, but not update and add.  I'm also
>>>> wondering
>>>> if there is anyway that the reentrant flush error is covering up another
>>>> error.  I guess I can start working on a test case.. I wish I could just
>>>> find a netbeans JSP2.0/EJB/TomEE sample project where everything was
>>>> already setup correctly.
>>>>
>>>> SEVERE: Error in safeBind method
>>>> javax.naming.****NameNotFoundException: Name [openejb] is not bound in
>>>> this
>>>> Context. Unable to find [openejb].
>>>>       at org.apache.naming.****NamingContext.lookup(****
>>>> NamingContext.java:820)
>>>>       at org.apache.naming.****NamingContext.lookup(****
>>>> NamingContext.java:168)
>>>>       at org.apache.tomee.catalina.****TomcatWebAppBuilder.safeBind(****
>>>> TomcatWebAppBuilder.java:1196)
>>>>       at org.apache.tomee.catalina.****TomcatWebAppBuilder.****
>>>> afterStart(**
>>>> TomcatWebAppBuilder.java:776)
>>>>       at org.apache.tomee.catalina.****GlobalListenerSupport.****
>>>> lifecycleEvent(
>>>> **GlobalListenerSupport.java:****103)
>>>>       at org.apache.catalina.util.****LifecycleSupport.****
>>>> fireLifecycleEvent(**
>>>> LifecycleSupport.java:119)
>>>>       at org.apache.catalina.util.****LifecycleBase.****
>>>> fireLifecycleEvent(**
>>>> LifecycleBase.java:90)
>>>>       at org.apache.catalina.util.****LifecycleBase.****
>>>> setStateInternal(**
>>>> LifecycleBase.java:401)
>>>>       at org.apache.catalina.util.****LifecycleBase.start(**
>>>> LifecycleBase.java:168)
>>>>       at org.apache.catalina.core.****ContainerBase.****
>>>> addChildInternal(**
>>>> ContainerBase.java:895)
>>>>       at org.apache.catalina.core.****ContainerBase.addChild(**
>>>> ContainerBase.java:871)
>>>>       at org.apache.catalina.core.****StandardHost.addChild(**
>>>> StandardHost.java:615)
>>>>       at org.apache.catalina.startup.****HostConfig.deployDescriptor(**
>>>> HostConfig.java:649)
>>>>       at org.apache.catalina.startup.****HostConfig.deployApps(**
>>>> HostConfig.java:530)
>>>>       at org.apache.catalina.startup.****HostConfig.check(HostConfig.**
>>>> java:1471)
>>>>       at sun.reflect.****NativeMethodAccessorImpl.****invoke0(Native
>>>> Method)
>>>>       at sun.reflect.****NativeMethodAccessorImpl.****invoke(**
>>>> NativeMethodAccessorImpl.java:****57)
>>>>       at sun.reflect.****DelegatingMethodAccessorImpl.****invoke(**
>>>> DelegatingMethodAccessorImpl.****java:43)
>>>>       at java.lang.reflect.Method.****invoke(Method.java:601)
>>>>       at org.apache.tomcat.util.****modeler.BaseModelMBean.invoke(****
>>>> BaseModelMBean.java:301)
>>>>       at com.sun.jmx.interceptor.****DefaultMBeanServerInterceptor.**
>>>> **invoke(**
>>>> DefaultMBeanServerInterceptor.****java:819)
>>>>       at com.sun.jmx.mbeanserver.****JmxMBeanServer.invoke(**
>>>> JmxMBeanServer.java:791)
>>>>       at org.apache.catalina.manager.****ManagerServlet.check(**
>>>> ManagerServlet.java:1436)
>>>>       at org.apache.catalina.manager.****ManagerServlet.deploy(**
>>>> ManagerServlet.java:856)
>>>>       at org.apache.catalina.manager.****ManagerServlet.doGet(**
>>>> ManagerServlet.java:353)
>>>>       at javax.servlet.http.****HttpServlet.service(****
>>>> HttpServlet.java:621)
>>>>       at javax.servlet.http.****HttpServlet.service(****
>>>> HttpServlet.java:722)
>>>>       at org.apache.catalina.core.****ApplicationFilterChain.**
>>>> internalDoFilter(****ApplicationFilterChain.java:****305)
>>>>       at org.apache.catalina.core.****ApplicationFilterChain.****
>>>> doFilter(**
>>>> ApplicationFilterChain.java:****210)
>>>>       at org.apache.catalina.filters.****SetCharacterEncodingFilter.**
>>>> doFilter(****SetCharacterEncodingFilter.****java:108)
>>>>       at org.apache.catalina.core.****ApplicationFilterChain.**
>>>> internalDoFilter(****ApplicationFilterChain.java:****243)
>>>>       at org.apache.catalina.core.****ApplicationFilterChain.****
>>>> doFilter(**
>>>> ApplicationFilterChain.java:****210)
>>>>       at org.apache.catalina.core.****StandardWrapperValve.invoke(**
>>>> StandardWrapperValve.java:225)
>>>>       at org.apache.catalina.core.****StandardContextValve.invoke(**
>>>> StandardContextValve.java:169)
>>>>       at org.apache.tomee.catalina.****OpenEJBValve.invoke(**
>>>> OpenEJBValve.java:44)
>>>>       at org.apache.catalina.****authenticator.****
>>>> AuthenticatorBase.invoke(**
>>>> AuthenticatorBase.java:581)
>>>>       at org.apache.catalina.core.****StandardHostValve.invoke(**
>>>> StandardHostValve.java:168)
>>>>       at org.apache.catalina.valves.****ErrorReportValve.invoke(**
>>>> ErrorReportValve.java:98)
>>>>       at org.apache.catalina.valves.****AccessLogValve.invoke(**
>>>> AccessLogValve.java:927)
>>>>       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:****999)
>>>>       at org.apache.coyote.****AbstractProtocol$****
>>>> AbstractConnectionHandler.**
>>>> process(AbstractProtocol.java:****565)
>>>>       at org.apache.tomcat.util.net.****JIoEndpoint$SocketProcessor.**
>>>> run(JIoEndpoint.java:309)
>>>>       at java.util.concurrent.****ThreadPoolExecutor.runWorker(****
>>>> ThreadPoolExecutor.java:1110)
>>>>       at java.util.concurrent.****ThreadPoolExecutor$Worker.run(****
>>>> ThreadPoolExecutor.java:603)
>>>>       at java.lang.Thread.run(Thread.****java:722)
>>>>
>>>> Jul 08, 2012 4:40:06 PM org.apache.tomee.catalina.****
>>>> TomcatWebAppBuilder
>>>> safeBind
>>>> INFO: TransactionManager already bound, ignoring
>>>> Jul 08, 2012 4:40:06 PM org.apache.tomee.catalina.****
>>>> TomcatWebAppBuilder
>>>> safeBind
>>>> INFO: TransactionSynchronizationRegi****stry already bound, ignoring
>>>> Jul 08, 2012 4:40:06 PM org.apache.tomee.catalina.****
>>>> TomcatWebAppBuilder
>>>> safeBind
>>>> SEVERE: Error in safeBind method
>>>> javax.naming.****NameNotFoundException: No ORB registered with the
>>>> OpenEJB
>>>> system
>>>>       at org.apache.openejb.core.ivm.****naming.****
>>>> SystemComponentReference.**
>>>> getObject(****SystemComponentReference.java:****38)
>>>>       at org.apache.openejb.core.ivm.****naming.Reference.getContent(**
>>>> Reference.java:40)
>>>>       at org.apache.xbean.naming.****reference.SimpleReference$**
>>>> SimpleObjectFactory.****getObjectInstance(****SimpleReference.java:137)
>>>>       at javax.naming.spi.****NamingManager.****getObjectInstance(**
>>>> NamingManager.java:321)
>>>>       at org.apache.naming.****NamingContext.lookup(****
>>>> NamingContext.java:843)
>>>>       at org.apache.naming.****NamingContext.lookup(****
>>>> NamingContext.java:168)
>>>>       at org.apache.tomee.catalina.****TomcatWebAppBuilder.safeBind(****
>>>> TomcatWebAppBuilder.java:1196)
>>>>       at org.apache.tomee.catalina.****TomcatWebAppBuilder.****
>>>> afterStart(**
>>>> TomcatWebAppBuilder.java:806)
>>>>       at org.apache.tomee.catalina.****GlobalListenerSupport.****
>>>> lifecycleEvent(
>>>> **GlobalListenerSupport.java:****103)
>>>>       at org.apache.catalina.util.****LifecycleSupport.****
>>>> fireLifecycleEvent(**
>>>> LifecycleSupport.java:119)
>>>>       at org.apache.catalina.util.****LifecycleBase.****
>>>> fireLifecycleEvent(**
>>>> LifecycleBase.java:90)
>>>>       at org.apache.catalina.util.****LifecycleBase.****
>>>> setStateInternal(**
>>>> LifecycleBase.java:401)
>>>>       at org.apache.catalina.util.****LifecycleBase.start(**
>>>> LifecycleBase.java:168)
>>>>       at org.apache.catalina.core.****ContainerBase.****
>>>> addChildInternal(**
>>>> ContainerBase.java:895)
>>>>       at org.apache.catalina.core.****ContainerBase.addChild(**
>>>> ContainerBase.java:871)
>>>>       at org.apache.catalina.core.****StandardHost.addChild(**
>>>> StandardHost.java:615)
>>>>       at org.apache.catalina.startup.****HostConfig.deployDescriptor(**
>>>> HostConfig.java:649)
>>>>       at org.apache.catalina.startup.****HostConfig.deployApps(**
>>>> HostConfig.java:530)
>>>>       at org.apache.catalina.startup.****HostConfig.check(HostConfig.**
>>>> java:1471)
>>>>       at sun.reflect.****NativeMethodAccessorImpl.****invoke0(Native
>>>> Method)
>>>>       at sun.reflect.****NativeMethodAccessorImpl.****invoke(**
>>>> NativeMethodAccessorImpl.java:****57)
>>>>       at sun.reflect.****DelegatingMethodAccessorImpl.****invoke(**
>>>> DelegatingMethodAccessorImpl.****java:43)
>>>>       at java.lang.reflect.Method.****invoke(Method.java:601)
>>>>       at org.apache.tomcat.util.****modeler.BaseModelMBean.invoke(****
>>>> BaseModelMBean.java:301)
>>>>       at com.sun.jmx.interceptor.****DefaultMBeanServerInterceptor.**
>>>> **invoke(**
>>>> DefaultMBeanServerInterceptor.****java:819)
>>>>       at com.sun.jmx.mbeanserver.****JmxMBeanServer.invoke(**
>>>> JmxMBeanServer.java:791)
>>>>       at org.apache.catalina.manager.****ManagerServlet.check(**
>>>> ManagerServlet.java:1436)
>>>>       at org.apache.catalina.manager.****ManagerServlet.deploy(**
>>>> ManagerServlet.java:856)
>>>>       at org.apache.catalina.manager.****ManagerServlet.doGet(**
>>>> ManagerServlet.java:353)
>>>>       at javax.servlet.http.****HttpServlet.service(****
>>>> HttpServlet.java:621)
>>>>       at javax.servlet.http.****HttpServlet.service(****
>>>> HttpServlet.java:722)
>>>>       at org.apache.catalina.core.****ApplicationFilterChain.**
>>>> internalDoFilter(****ApplicationFilterChain.java:****305)
>>>>       at org.apache.catalina.core.****ApplicationFilterChain.****
>>>> doFilter(**
>>>> ApplicationFilterChain.java:****210)
>>>>       at org.apache.catalina.filters.****SetCharacterEncodingFilter.**
>>>> doFilter(****SetCharacterEncodingFilter.****java:108)
>>>>       at org.apache.catalina.core.****ApplicationFilterChain.**
>>>> internalDoFilter(****ApplicationFilterChain.java:****243)
>>>>       at org.apache.catalina.core.****ApplicationFilterChain.****
>>>> doFilter(**
>>>> ApplicationFilterChain.java:****210)
>>>>       at org.apache.catalina.core.****StandardWrapperValve.invoke(**
>>>> StandardWrapperValve.java:225)
>>>>       at org.apache.catalina.core.****StandardContextValve.invoke(**
>>>> StandardContextValve.java:169)
>>>>       at org.apache.tomee.catalina.****OpenEJBValve.invoke(**
>>>> OpenEJBValve.java:44)
>>>>       at org.apache.catalina.****authenticator.****
>>>> AuthenticatorBase.invoke(**
>>>> AuthenticatorBase.java:581)
>>>>       at org.apache.catalina.core.****StandardHostValve.invoke(**
>>>> StandardHostValve.java:168)
>>>>       at org.apache.catalina.valves.****ErrorReportValve.invoke(**
>>>> ErrorReportValve.java:98)
>>>>       at org.apache.catalina.valves.****AccessLogValve.invoke(**
>>>> AccessLogValve.java:927)
>>>>       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:****999)
>>>>       at org.apache.coyote.****AbstractProtocol$****
>>>> AbstractConnectionHandler.**
>>>> process(AbstractProtocol.java:****565)
>>>>       at org.apache.tomcat.util.net.****JIoEndpoint$SocketProcessor.**
>>>> run(JIoEndpoint.java:309)
>>>>       at java.util.concurrent.****ThreadPoolExecutor.runWorker(****
>>>> ThreadPoolExecutor.java:1110)
>>>>       at java.util.concurrent.****ThreadPoolExecutor$Worker.run(****
>>>> ThreadPoolExecutor.java:603)
>>>>       at java.lang.Thread.run(Thread.****java:722)
>>>>
>>>> Jul 08, 2012 4:40:43 PM org.apache.tomee.catalina.****
>>>> TomcatWebAppBuilder
>>>> safeBind
>>>> SEVERE: Error in safeBind method
>>>> javax.naming.****NameNotFoundException: No HandleDelegate registered
>>>> with
>>>> the OpenEJB system
>>>>       at org.apache.openejb.core.ivm.****naming.****
>>>> SystemComponentReference.**
>>>> getObject(****SystemComponentReference.java:****38)
>>>>       at org.apache.openejb.core.ivm.****naming.Reference.getContent(**
>>>> Reference.java:40)
>>>>       at org.apache.xbean.naming.****reference.SimpleReference$**
>>>> SimpleObjectFactory.****getObjectInstance(****SimpleReference.java:137)
>>>>       at javax.naming.spi.****NamingManager.****getObjectInstance(**
>>>> NamingManager.java:321)
>>>>       at org.apache.naming.****NamingContext.lookup(****
>>>> NamingContext.java:843)
>>>>       at org.apache.naming.****NamingContext.lookup(****
>>>> NamingContext.java:168)
>>>>       at org.apache.tomee.catalina.****TomcatWebAppBuilder.safeBind(****
>>>> TomcatWebAppBuilder.java:1196)
>>>>       at org.apache.tomee.catalina.****TomcatWebAppBuilder.****
>>>> afterStart(**
>>>> TomcatWebAppBuilder.java:807)
>>>>       at org.apache.tomee.catalina.****GlobalListenerSupport.****
>>>> lifecycleEvent(
>>>> **GlobalListenerSupport.java:****103)
>>>>       at org.apache.catalina.util.****LifecycleSupport.****
>>>> fireLifecycleEvent(**
>>>> LifecycleSupport.java:119)
>>>>       at org.apache.catalina.util.****LifecycleBase.****
>>>> fireLifecycleEvent(**
>>>> LifecycleBase.java:90)
>>>>       at org.apache.catalina.util.****LifecycleBase.****
>>>> setStateInternal(**
>>>> LifecycleBase.java:401)
>>>>       at org.apache.catalina.util.****LifecycleBase.start(**
>>>> LifecycleBase.java:168)
>>>>       at org.apache.catalina.core.****ContainerBase.****
>>>> addChildInternal(**
>>>> ContainerBase.java:895)
>>>>       at org.apache.catalina.core.****ContainerBase.addChild(**
>>>> ContainerBase.java:871)
>>>>       at org.apache.catalina.core.****StandardHost.addChild(**
>>>> StandardHost.java:615)
>>>>       at org.apache.catalina.startup.****HostConfig.deployDescriptor(**
>>>> HostConfig.java:649)
>>>>       at org.apache.catalina.startup.****HostConfig.deployApps(**
>>>> HostConfig.java:530)
>>>>       at org.apache.catalina.startup.****HostConfig.check(HostConfig.**
>>>> java:1471)
>>>>       at sun.reflect.****NativeMethodAccessorImpl.****invoke0(Native
>>>> Method)
>>>>       at sun.reflect.****NativeMethodAccessorImpl.****invoke(**
>>>> NativeMethodAccessorImpl.java:****57)
>>>>       at sun.reflect.****DelegatingMethodAccessorImpl.****invoke(**
>>>> DelegatingMethodAccessorImpl.****java:43)
>>>>       at java.lang.reflect.Method.****invoke(Method.java:601)
>>>>       at org.apache.tomcat.util.****modeler.BaseModelMBean.invoke(****
>>>> BaseModelMBean.java:301)
>>>>       at com.sun.jmx.interceptor.****DefaultMBeanServerInterceptor.**
>>>> **invoke(**
>>>> DefaultMBeanServerInterceptor.****java:819)
>>>>       at com.sun.jmx.mbeanserver.****JmxMBeanServer.invoke(**
>>>> JmxMBeanServer.java:791)
>>>>       at org.apache.catalina.manager.****ManagerServlet.check(**
>>>> ManagerServlet.java:1436)
>>>>       at org.apache.catalina.manager.****ManagerServlet.deploy(**
>>>> ManagerServlet.java:856)
>>>>       at org.apache.catalina.manager.****ManagerServlet.doGet(**
>>>> ManagerServlet.java:353)
>>>>       at javax.servlet.http.****HttpServlet.service(****
>>>> HttpServlet.java:621)
>>>>       at javax.servlet.http.****HttpServlet.service(****
>>>> HttpServlet.java:722)
>>>>       at org.apache.catalina.core.****ApplicationFilterChain.**
>>>> internalDoFilter(****ApplicationFilterChain.java:****305)
>>>>       at org.apache.catalina.core.****ApplicationFilterChain.****
>>>> doFilter(**
>>>> ApplicationFilterChain.java:****210)
>>>>       at org.apache.catalina.filters.****SetCharacterEncodingFilter.**
>>>> doFilter(****SetCharacterEncodingFilter.****java:108)
>>>>       at org.apache.catalina.core.****ApplicationFilterChain.**
>>>> internalDoFilter(****ApplicationFilterChain.java:****243)
>>>>       at org.apache.catalina.core.****ApplicationFilterChain.****
>>>> doFilter(**
>>>> ApplicationFilterChain.java:****210)
>>>>       at org.apache.catalina.core.****StandardWrapperValve.invoke(**
>>>> StandardWrapperValve.java:225)
>>>>       at org.apache.catalina.core.****StandardContextValve.invoke(**
>>>> StandardContextValve.java:169)
>>>>       at org.apache.tomee.catalina.****OpenEJBValve.invoke(**
>>>> OpenEJBValve.java:44)
>>>>       at org.apache.catalina.****authenticator.****
>>>> AuthenticatorBase.invoke(**
>>>> AuthenticatorBase.java:581)
>>>>       at org.apache.catalina.core.****StandardHostValve.invoke(**
>>>> StandardHostValve.java:168)
>>>>       at org.apache.catalina.valves.****ErrorReportValve.invoke(**
>>>> ErrorReportValve.java:98)
>>>>       at org.apache.catalina.valves.****AccessLogValve.invoke(**
>>>> AccessLogValve.java:927)
>>>>       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:****999)
>>>>       at org.apache.coyote.****AbstractProtocol$****
>>>> AbstractConnectionHandler.**
>>>> process(AbstractProtocol.java:****565)
>>>>       at org.apache.tomcat.util.net.****JIoEndpoint$SocketProcessor.**
>>>> run(JIoEndpoint.java:309)
>>>>       at java.util.concurrent.****ThreadPoolExecutor.runWorker(****
>>>> ThreadPoolExecutor.java:1110)
>>>>       at java.util.concurrent.****ThreadPoolExecutor$Worker.run(****
>>>> ThreadPoolExecutor.java:603)
>>>>       at java.lang.Thread.run(Thread.****java:722)
>>>>
>>>>
>>>>
>>>> On 7/8/2012 4:32 PM, Romain Manni-Bucau wrote:
>>>>
>>>>   i don't think so,
>>>>> can you try moving your code in a unit test to see if it still happen?
>>>>>
>>>>> - Romain
>>>>>
>>>>>
>>>>> 2012/7/8 David Nordahl<da...@thinkology.org>
>>>>>
>>>>>    Could it be the Tomcat JDBCRealm I have enforcing container managed
>>>>>
>>>>>> security from user data in the same table?
>>>>>>
>>>>>>
>>>>>> On 7/8/2012 4:14 PM, Romain Manni-Bucau wrote:
>>>>>>
>>>>>>    i can't say no but i'm pretty sure it is something in the container
>>>>>>
>>>>>>> rather
>>>>>>> in the DB.
>>>>>>>
>>>>>>> - Romain
>>>>>>>
>>>>>>>
>>>>>>> 2012/7/8 David Nordahl<da...@thinkology.org>
>>>>>>>
>>>>>>>     Maybe the DB settings could have something to do with it? I'm using
>>>>>>> MySQL
>>>>>>>
>>>>>>>   with it's default setup which uses InnoDB.  I notice in the
>>>>>>>> documentation
>>>>>>>> that "InnoDB, with innodb_flush_log_at_trx_commit set to 1, flushes
>>>>>>>> the
>>>>>>>> transaction log after each transaction, greatly improving
>>>>>>>> reliability."
>>>>>>>>
>>>>>>>> Could some DB setting like this be causing the issue?
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> On 7/8/2012 3:39 PM, Romain Manni-Bucau wrote:
>>>>>>>>
>>>>>>>>     can you share a small sample to reproduce it, will be easier to
>>>>>>>> help
>>>>>>>>
>>>>>>>>   you?
>>>>>>>>> - Romain
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> 2012/7/8 David Nordahl<da...@thinkology.org>
>>>>>>>>>
>>>>>>>>>      Not that I've configured.. Unless one of the annotations creates
>>>>>>>>> one:
>>>>>>>>>
>>>>>>>>>    @Entity
>>>>>>>>>
>>>>>>>>>> @Table(name = "user")
>>>>>>>>>> @XmlRootElement
>>>>>>>>>> @NamedQueries({
>>>>>>>>>>          @NamedQuery(name = "User.findAll", query = "SELECT u FROM
>>>>>>>>>> User
>>>>>>>>>> u"),
>>>>>>>>>>          @NamedQuery(name = "User.findByUserId", query = "SELECT u
>>>>>>>>>> FROM
>>>>>>>>>> User
>>>>>>>>>> u
>>>>>>>>>> WHERE u.userId = :userId"),
>>>>>>>>>>          @NamedQuery(name = "User.findByUserName", query = "SELECT u
>>>>>>>>>> FROM
>>>>>>>>>> User
>>>>>>>>>> u WHERE u.userName = :userName"),
>>>>>>>>>>          @NamedQuery(name = "User.findByPassword", query = "SELECT u
>>>>>>>>>> FROM
>>>>>>>>>> User
>>>>>>>>>> u WHERE u.password = :password"),
>>>>>>>>>>          @NamedQuery(name = "User.findByEmail", query = "SELECT u
>>>>>>>>>> FROM
>>>>>>>>>> User u
>>>>>>>>>> WHERE u.email = :email"),
>>>>>>>>>>          @NamedQuery(name = "User.findByFirstName", query = "SELECT
>>>>>>>>>> u
>>>>>>>>>> FROM
>>>>>>>>>> User
>>>>>>>>>> u WHERE u.firstName = :firstName"),
>>>>>>>>>>          @NamedQuery(name = "User.findByLastName", query = "SELECT u
>>>>>>>>>> FROM
>>>>>>>>>> User
>>>>>>>>>> u WHERE u.lastName = :lastName"),
>>>>>>>>>>          @NamedQuery(name = "User.findByLoginFailures", query =
>>>>>>>>>> "SELECT u
>>>>>>>>>> FROM
>>>>>>>>>> User u WHERE u.loginFailures = :loginFailures"),
>>>>>>>>>>          @NamedQuery(name = "User.findByLastLoginFailure", query =
>>>>>>>>>> "SELECT u
>>>>>>>>>> FROM User u WHERE u.lastLoginFailure = :lastLoginFailure")})
>>>>>>>>>> public class User implements Serializable {
>>>>>>>>>>          private static final long serialVersionUID = 1L;
>>>>>>>>>>          @Id
>>>>>>>>>>          @GeneratedValue(strategy = GenerationType.IDENTITY)
>>>>>>>>>>          @Basic(optional = false)
>>>>>>>>>>          @Column(name = "user_id")
>>>>>>>>>>          private Integer userId;
>>>>>>>>>>          @Basic(optional = false)
>>>>>>>>>>          @Column(name = "user_name")
>>>>>>>>>>          private String userName;
>>>>>>>>>>          @Basic(optional = false)
>>>>>>>>>>          @Column(name = "password")
>>>>>>>>>>          private String password;
>>>>>>>>>>          @Column(name = "email")
>>>>>>>>>>          private String email;
>>>>>>>>>>          @Column(name = "first_name")
>>>>>>>>>>          private String firstName;
>>>>>>>>>>          @Column(name = "last_name")
>>>>>>>>>>          private String lastName;
>>>>>>>>>>          @Column(name = "login_failures")
>>>>>>>>>>          private Integer loginFailures;
>>>>>>>>>>          @Column(name = "last_login_failure")
>>>>>>>>>>          @Temporal(TemporalType.**********TIMESTAMP)
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>          private Date lastLoginFailure;
>>>>>>>>>>          @JoinColumn(name = "associated_customer",
>>>>>>>>>> referencedColumnName =
>>>>>>>>>> "customer_id")
>>>>>>>>>>          @ManyToOne
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On 7/8/2012 3:25 PM, Romain Manni-Bucau wrote:
>>>>>>>>>>
>>>>>>>>>>      Hi,
>>>>>>>>>>
>>>>>>>>>>    any entity listener playing with id or special field on User
>>>>>>>>>> entity?
>>>>>>>>>>
>>>>>>>>>>> - Romain
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> 2012/7/8 David Nordahl<da...@thinkology.org>
>>>>>>>>>>>
>>>>>>>>>>>       I'm attempting the code:
>>>>>>>>>>>
>>>>>>>>>>>     Properties properties = new Properties();
>>>>>>>>>>>
>>>>>>>>>>>   properties.setProperty(************Context.INITIAL_CONTEXT_*****
>>>>>>>>>>>> ****
>>>>>>>>>>>> ***
>>>>>>>>>>>> FACTORY,
>>>>>>>>>>>> "org.apache.openejb.client.**************
>>>>>>>>>>>> LocalInitialContextFactory"**)****;
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> InitialContext initialContext = new InitialContext(properties);
>>>>>>>>>>>> Object object = initialContext.lookup("***********
>>>>>>>>>>>> *UserFacadeLocal");
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> UserFacadeLocal userFacade = (UserFacadeLocal) object;
>>>>>>>>>>>> User newuser = new User();
>>>>>>>>>>>> newuser.setEmail("cow@cow.moo"************);
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> newuser.setUserName("steve");
>>>>>>>>>>>> newuser.setPassword("cows");
>>>>>>>>>>>> userFacade.create(newuser);
>>>>>>>>>>>>
>>>>>>>>>>>> but keep getting "org.apache.openjpa.************
>>>>>>>>>>>> persistence.****
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> InvalidStateException:
>>>>>>>>>>>>
>>>>>>>>>>>> Detected reentrant flush.  Make sure your flush-time instance
>>>>>>>>>>>> callback
>>>>>>>>>>>> methods or event listeners do not invoke any operations that
>>>>>>>>>>>> require
>>>>>>>>>>>> the
>>>>>>>>>>>> in-progress flush to complete."
>>>>>>>>>>>>
>>>>>>>>>>>> I tried setting "openjpa.FlushBeforeQueries" to false just to see
>>>>>>>>>>>> if
>>>>>>>>>>>> I
>>>>>>>>>>>> can
>>>>>>>>>>>> get the error to go away, but it makes no difference.  I can't
>>>>>>>>>>>> find a
>>>>>>>>>>>> flush() call in my project and according to the table in the
>>>>>>>>>>>> docs,
>>>>>>>>>>>> flush
>>>>>>>>>>>> is
>>>>>>>>>>>> not called if this parameter is set.  What am I not doing
>>>>>>>>>>>> correctly
>>>>>>>>>>>> here?
>>>>>>>>>>>>
>>>>>>>>>>>> Thank you,
>>>>>>>>>>>> David
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>

Re: Detected Reentrant Flush

Posted by Romain Manni-Bucau <rm...@gmail.com>.
You should at least share your logs or (better) a sample otherwise helping
you is hard. Generally it is faster than 'trying' things.

- Romun
Le 9 juil. 2012 03:20, "David Nordahl" <da...@thinkology.org> a écrit :

> Tried the snap shot.. I get an error in Netbeans saying that it can't
> deploy the app and to check the server log, yet the server log has no
> errors and shows the app deploying successfully yet I cannot open the web
> host in the browser.  I give up... I could have written all the middle ware
> needed for this project myself by now.  Thanks for your efforts.
>
> On 7/8/2012 4:56 PM, Romain Manni-Bucau wrote:
>
>> hmm
>>
>> you use tomee 1.0.0
>>
>> can you give it a try to the snapshot please? we worked a bit on netbeans
>> integration.
>>
>> - Romain
>>
>>
>> 2012/7/8 David Nordahl<da...@thinkology.org>
>>
>>  Btw.. Is it normal to have these exceptions on startup?  I saw another
>>> post saying they were, but I thought I might double check.  I seem to be
>>> able to query through open EJB, but not update and add.  I'm also
>>> wondering
>>> if there is anyway that the reentrant flush error is covering up another
>>> error.  I guess I can start working on a test case.. I wish I could just
>>> find a netbeans JSP2.0/EJB/TomEE sample project where everything was
>>> already setup correctly.
>>>
>>> SEVERE: Error in safeBind method
>>> javax.naming.****NameNotFoundException: Name [openejb] is not bound in
>>> this
>>> Context. Unable to find [openejb].
>>>      at org.apache.naming.****NamingContext.lookup(****
>>> NamingContext.java:820)
>>>      at org.apache.naming.****NamingContext.lookup(****
>>> NamingContext.java:168)
>>>      at org.apache.tomee.catalina.****TomcatWebAppBuilder.safeBind(****
>>> TomcatWebAppBuilder.java:1196)
>>>      at org.apache.tomee.catalina.****TomcatWebAppBuilder.****
>>> afterStart(**
>>> TomcatWebAppBuilder.java:776)
>>>      at org.apache.tomee.catalina.****GlobalListenerSupport.****
>>> lifecycleEvent(
>>> **GlobalListenerSupport.java:****103)
>>>      at org.apache.catalina.util.****LifecycleSupport.****
>>> fireLifecycleEvent(**
>>> LifecycleSupport.java:119)
>>>      at org.apache.catalina.util.****LifecycleBase.****
>>> fireLifecycleEvent(**
>>> LifecycleBase.java:90)
>>>      at org.apache.catalina.util.****LifecycleBase.****
>>> setStateInternal(**
>>> LifecycleBase.java:401)
>>>      at org.apache.catalina.util.****LifecycleBase.start(**
>>> LifecycleBase.java:168)
>>>      at org.apache.catalina.core.****ContainerBase.****
>>> addChildInternal(**
>>> ContainerBase.java:895)
>>>      at org.apache.catalina.core.****ContainerBase.addChild(**
>>> ContainerBase.java:871)
>>>      at org.apache.catalina.core.****StandardHost.addChild(**
>>> StandardHost.java:615)
>>>      at org.apache.catalina.startup.****HostConfig.deployDescriptor(**
>>> HostConfig.java:649)
>>>      at org.apache.catalina.startup.****HostConfig.deployApps(**
>>> HostConfig.java:530)
>>>      at org.apache.catalina.startup.****HostConfig.check(HostConfig.**
>>> java:1471)
>>>      at sun.reflect.****NativeMethodAccessorImpl.****invoke0(Native
>>> Method)
>>>      at sun.reflect.****NativeMethodAccessorImpl.****invoke(**
>>> NativeMethodAccessorImpl.java:****57)
>>>      at sun.reflect.****DelegatingMethodAccessorImpl.****invoke(**
>>> DelegatingMethodAccessorImpl.****java:43)
>>>      at java.lang.reflect.Method.****invoke(Method.java:601)
>>>      at org.apache.tomcat.util.****modeler.BaseModelMBean.invoke(****
>>> BaseModelMBean.java:301)
>>>      at com.sun.jmx.interceptor.****DefaultMBeanServerInterceptor.**
>>> **invoke(**
>>> DefaultMBeanServerInterceptor.****java:819)
>>>      at com.sun.jmx.mbeanserver.****JmxMBeanServer.invoke(**
>>> JmxMBeanServer.java:791)
>>>      at org.apache.catalina.manager.****ManagerServlet.check(**
>>> ManagerServlet.java:1436)
>>>      at org.apache.catalina.manager.****ManagerServlet.deploy(**
>>> ManagerServlet.java:856)
>>>      at org.apache.catalina.manager.****ManagerServlet.doGet(**
>>> ManagerServlet.java:353)
>>>      at javax.servlet.http.****HttpServlet.service(****
>>> HttpServlet.java:621)
>>>      at javax.servlet.http.****HttpServlet.service(****
>>> HttpServlet.java:722)
>>>      at org.apache.catalina.core.****ApplicationFilterChain.**
>>> internalDoFilter(****ApplicationFilterChain.java:****305)
>>>      at org.apache.catalina.core.****ApplicationFilterChain.****
>>> doFilter(**
>>> ApplicationFilterChain.java:****210)
>>>      at org.apache.catalina.filters.****SetCharacterEncodingFilter.**
>>> doFilter(****SetCharacterEncodingFilter.****java:108)
>>>      at org.apache.catalina.core.****ApplicationFilterChain.**
>>> internalDoFilter(****ApplicationFilterChain.java:****243)
>>>      at org.apache.catalina.core.****ApplicationFilterChain.****
>>> doFilter(**
>>> ApplicationFilterChain.java:****210)
>>>      at org.apache.catalina.core.****StandardWrapperValve.invoke(**
>>> StandardWrapperValve.java:225)
>>>      at org.apache.catalina.core.****StandardContextValve.invoke(**
>>> StandardContextValve.java:169)
>>>      at org.apache.tomee.catalina.****OpenEJBValve.invoke(**
>>> OpenEJBValve.java:44)
>>>      at org.apache.catalina.****authenticator.****
>>> AuthenticatorBase.invoke(**
>>> AuthenticatorBase.java:581)
>>>      at org.apache.catalina.core.****StandardHostValve.invoke(**
>>> StandardHostValve.java:168)
>>>      at org.apache.catalina.valves.****ErrorReportValve.invoke(**
>>> ErrorReportValve.java:98)
>>>      at org.apache.catalina.valves.****AccessLogValve.invoke(**
>>> AccessLogValve.java:927)
>>>      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:****999)
>>>      at org.apache.coyote.****AbstractProtocol$****
>>> AbstractConnectionHandler.**
>>> process(AbstractProtocol.java:****565)
>>>      at org.apache.tomcat.util.net.****JIoEndpoint$SocketProcessor.**
>>> run(JIoEndpoint.java:309)
>>>      at java.util.concurrent.****ThreadPoolExecutor.runWorker(****
>>> ThreadPoolExecutor.java:1110)
>>>      at java.util.concurrent.****ThreadPoolExecutor$Worker.run(****
>>> ThreadPoolExecutor.java:603)
>>>      at java.lang.Thread.run(Thread.****java:722)
>>>
>>> Jul 08, 2012 4:40:06 PM org.apache.tomee.catalina.****
>>> TomcatWebAppBuilder
>>> safeBind
>>> INFO: TransactionManager already bound, ignoring
>>> Jul 08, 2012 4:40:06 PM org.apache.tomee.catalina.****
>>> TomcatWebAppBuilder
>>> safeBind
>>> INFO: TransactionSynchronizationRegi****stry already bound, ignoring
>>> Jul 08, 2012 4:40:06 PM org.apache.tomee.catalina.****
>>> TomcatWebAppBuilder
>>> safeBind
>>> SEVERE: Error in safeBind method
>>> javax.naming.****NameNotFoundException: No ORB registered with the
>>> OpenEJB
>>> system
>>>      at org.apache.openejb.core.ivm.****naming.****
>>> SystemComponentReference.**
>>> getObject(****SystemComponentReference.java:****38)
>>>      at org.apache.openejb.core.ivm.****naming.Reference.getContent(**
>>> Reference.java:40)
>>>      at org.apache.xbean.naming.****reference.SimpleReference$**
>>> SimpleObjectFactory.****getObjectInstance(****SimpleReference.java:137)
>>>      at javax.naming.spi.****NamingManager.****getObjectInstance(**
>>> NamingManager.java:321)
>>>      at org.apache.naming.****NamingContext.lookup(****
>>> NamingContext.java:843)
>>>      at org.apache.naming.****NamingContext.lookup(****
>>> NamingContext.java:168)
>>>      at org.apache.tomee.catalina.****TomcatWebAppBuilder.safeBind(****
>>> TomcatWebAppBuilder.java:1196)
>>>      at org.apache.tomee.catalina.****TomcatWebAppBuilder.****
>>> afterStart(**
>>> TomcatWebAppBuilder.java:806)
>>>      at org.apache.tomee.catalina.****GlobalListenerSupport.****
>>> lifecycleEvent(
>>> **GlobalListenerSupport.java:****103)
>>>      at org.apache.catalina.util.****LifecycleSupport.****
>>> fireLifecycleEvent(**
>>> LifecycleSupport.java:119)
>>>      at org.apache.catalina.util.****LifecycleBase.****
>>> fireLifecycleEvent(**
>>> LifecycleBase.java:90)
>>>      at org.apache.catalina.util.****LifecycleBase.****
>>> setStateInternal(**
>>> LifecycleBase.java:401)
>>>      at org.apache.catalina.util.****LifecycleBase.start(**
>>> LifecycleBase.java:168)
>>>      at org.apache.catalina.core.****ContainerBase.****
>>> addChildInternal(**
>>> ContainerBase.java:895)
>>>      at org.apache.catalina.core.****ContainerBase.addChild(**
>>> ContainerBase.java:871)
>>>      at org.apache.catalina.core.****StandardHost.addChild(**
>>> StandardHost.java:615)
>>>      at org.apache.catalina.startup.****HostConfig.deployDescriptor(**
>>> HostConfig.java:649)
>>>      at org.apache.catalina.startup.****HostConfig.deployApps(**
>>> HostConfig.java:530)
>>>      at org.apache.catalina.startup.****HostConfig.check(HostConfig.**
>>> java:1471)
>>>      at sun.reflect.****NativeMethodAccessorImpl.****invoke0(Native
>>> Method)
>>>      at sun.reflect.****NativeMethodAccessorImpl.****invoke(**
>>> NativeMethodAccessorImpl.java:****57)
>>>      at sun.reflect.****DelegatingMethodAccessorImpl.****invoke(**
>>> DelegatingMethodAccessorImpl.****java:43)
>>>      at java.lang.reflect.Method.****invoke(Method.java:601)
>>>      at org.apache.tomcat.util.****modeler.BaseModelMBean.invoke(****
>>> BaseModelMBean.java:301)
>>>      at com.sun.jmx.interceptor.****DefaultMBeanServerInterceptor.**
>>> **invoke(**
>>> DefaultMBeanServerInterceptor.****java:819)
>>>      at com.sun.jmx.mbeanserver.****JmxMBeanServer.invoke(**
>>> JmxMBeanServer.java:791)
>>>      at org.apache.catalina.manager.****ManagerServlet.check(**
>>> ManagerServlet.java:1436)
>>>      at org.apache.catalina.manager.****ManagerServlet.deploy(**
>>> ManagerServlet.java:856)
>>>      at org.apache.catalina.manager.****ManagerServlet.doGet(**
>>> ManagerServlet.java:353)
>>>      at javax.servlet.http.****HttpServlet.service(****
>>> HttpServlet.java:621)
>>>      at javax.servlet.http.****HttpServlet.service(****
>>> HttpServlet.java:722)
>>>      at org.apache.catalina.core.****ApplicationFilterChain.**
>>> internalDoFilter(****ApplicationFilterChain.java:****305)
>>>      at org.apache.catalina.core.****ApplicationFilterChain.****
>>> doFilter(**
>>> ApplicationFilterChain.java:****210)
>>>      at org.apache.catalina.filters.****SetCharacterEncodingFilter.**
>>> doFilter(****SetCharacterEncodingFilter.****java:108)
>>>      at org.apache.catalina.core.****ApplicationFilterChain.**
>>> internalDoFilter(****ApplicationFilterChain.java:****243)
>>>      at org.apache.catalina.core.****ApplicationFilterChain.****
>>> doFilter(**
>>> ApplicationFilterChain.java:****210)
>>>      at org.apache.catalina.core.****StandardWrapperValve.invoke(**
>>> StandardWrapperValve.java:225)
>>>      at org.apache.catalina.core.****StandardContextValve.invoke(**
>>> StandardContextValve.java:169)
>>>      at org.apache.tomee.catalina.****OpenEJBValve.invoke(**
>>> OpenEJBValve.java:44)
>>>      at org.apache.catalina.****authenticator.****
>>> AuthenticatorBase.invoke(**
>>> AuthenticatorBase.java:581)
>>>      at org.apache.catalina.core.****StandardHostValve.invoke(**
>>> StandardHostValve.java:168)
>>>      at org.apache.catalina.valves.****ErrorReportValve.invoke(**
>>> ErrorReportValve.java:98)
>>>      at org.apache.catalina.valves.****AccessLogValve.invoke(**
>>> AccessLogValve.java:927)
>>>      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:****999)
>>>      at org.apache.coyote.****AbstractProtocol$****
>>> AbstractConnectionHandler.**
>>> process(AbstractProtocol.java:****565)
>>>      at org.apache.tomcat.util.net.****JIoEndpoint$SocketProcessor.**
>>> run(JIoEndpoint.java:309)
>>>      at java.util.concurrent.****ThreadPoolExecutor.runWorker(****
>>> ThreadPoolExecutor.java:1110)
>>>      at java.util.concurrent.****ThreadPoolExecutor$Worker.run(****
>>> ThreadPoolExecutor.java:603)
>>>      at java.lang.Thread.run(Thread.****java:722)
>>>
>>> Jul 08, 2012 4:40:43 PM org.apache.tomee.catalina.****
>>> TomcatWebAppBuilder
>>> safeBind
>>> SEVERE: Error in safeBind method
>>> javax.naming.****NameNotFoundException: No HandleDelegate registered
>>> with
>>> the OpenEJB system
>>>      at org.apache.openejb.core.ivm.****naming.****
>>> SystemComponentReference.**
>>> getObject(****SystemComponentReference.java:****38)
>>>      at org.apache.openejb.core.ivm.****naming.Reference.getContent(**
>>> Reference.java:40)
>>>      at org.apache.xbean.naming.****reference.SimpleReference$**
>>> SimpleObjectFactory.****getObjectInstance(****SimpleReference.java:137)
>>>      at javax.naming.spi.****NamingManager.****getObjectInstance(**
>>> NamingManager.java:321)
>>>      at org.apache.naming.****NamingContext.lookup(****
>>> NamingContext.java:843)
>>>      at org.apache.naming.****NamingContext.lookup(****
>>> NamingContext.java:168)
>>>      at org.apache.tomee.catalina.****TomcatWebAppBuilder.safeBind(****
>>> TomcatWebAppBuilder.java:1196)
>>>      at org.apache.tomee.catalina.****TomcatWebAppBuilder.****
>>> afterStart(**
>>> TomcatWebAppBuilder.java:807)
>>>      at org.apache.tomee.catalina.****GlobalListenerSupport.****
>>> lifecycleEvent(
>>> **GlobalListenerSupport.java:****103)
>>>      at org.apache.catalina.util.****LifecycleSupport.****
>>> fireLifecycleEvent(**
>>> LifecycleSupport.java:119)
>>>      at org.apache.catalina.util.****LifecycleBase.****
>>> fireLifecycleEvent(**
>>> LifecycleBase.java:90)
>>>      at org.apache.catalina.util.****LifecycleBase.****
>>> setStateInternal(**
>>> LifecycleBase.java:401)
>>>      at org.apache.catalina.util.****LifecycleBase.start(**
>>> LifecycleBase.java:168)
>>>      at org.apache.catalina.core.****ContainerBase.****
>>> addChildInternal(**
>>> ContainerBase.java:895)
>>>      at org.apache.catalina.core.****ContainerBase.addChild(**
>>> ContainerBase.java:871)
>>>      at org.apache.catalina.core.****StandardHost.addChild(**
>>> StandardHost.java:615)
>>>      at org.apache.catalina.startup.****HostConfig.deployDescriptor(**
>>> HostConfig.java:649)
>>>      at org.apache.catalina.startup.****HostConfig.deployApps(**
>>> HostConfig.java:530)
>>>      at org.apache.catalina.startup.****HostConfig.check(HostConfig.**
>>> java:1471)
>>>      at sun.reflect.****NativeMethodAccessorImpl.****invoke0(Native
>>> Method)
>>>      at sun.reflect.****NativeMethodAccessorImpl.****invoke(**
>>> NativeMethodAccessorImpl.java:****57)
>>>      at sun.reflect.****DelegatingMethodAccessorImpl.****invoke(**
>>> DelegatingMethodAccessorImpl.****java:43)
>>>      at java.lang.reflect.Method.****invoke(Method.java:601)
>>>      at org.apache.tomcat.util.****modeler.BaseModelMBean.invoke(****
>>> BaseModelMBean.java:301)
>>>      at com.sun.jmx.interceptor.****DefaultMBeanServerInterceptor.**
>>> **invoke(**
>>> DefaultMBeanServerInterceptor.****java:819)
>>>      at com.sun.jmx.mbeanserver.****JmxMBeanServer.invoke(**
>>> JmxMBeanServer.java:791)
>>>      at org.apache.catalina.manager.****ManagerServlet.check(**
>>> ManagerServlet.java:1436)
>>>      at org.apache.catalina.manager.****ManagerServlet.deploy(**
>>> ManagerServlet.java:856)
>>>      at org.apache.catalina.manager.****ManagerServlet.doGet(**
>>> ManagerServlet.java:353)
>>>      at javax.servlet.http.****HttpServlet.service(****
>>> HttpServlet.java:621)
>>>      at javax.servlet.http.****HttpServlet.service(****
>>> HttpServlet.java:722)
>>>      at org.apache.catalina.core.****ApplicationFilterChain.**
>>> internalDoFilter(****ApplicationFilterChain.java:****305)
>>>      at org.apache.catalina.core.****ApplicationFilterChain.****
>>> doFilter(**
>>> ApplicationFilterChain.java:****210)
>>>      at org.apache.catalina.filters.****SetCharacterEncodingFilter.**
>>> doFilter(****SetCharacterEncodingFilter.****java:108)
>>>      at org.apache.catalina.core.****ApplicationFilterChain.**
>>> internalDoFilter(****ApplicationFilterChain.java:****243)
>>>      at org.apache.catalina.core.****ApplicationFilterChain.****
>>> doFilter(**
>>> ApplicationFilterChain.java:****210)
>>>      at org.apache.catalina.core.****StandardWrapperValve.invoke(**
>>> StandardWrapperValve.java:225)
>>>      at org.apache.catalina.core.****StandardContextValve.invoke(**
>>> StandardContextValve.java:169)
>>>      at org.apache.tomee.catalina.****OpenEJBValve.invoke(**
>>> OpenEJBValve.java:44)
>>>      at org.apache.catalina.****authenticator.****
>>> AuthenticatorBase.invoke(**
>>> AuthenticatorBase.java:581)
>>>      at org.apache.catalina.core.****StandardHostValve.invoke(**
>>> StandardHostValve.java:168)
>>>      at org.apache.catalina.valves.****ErrorReportValve.invoke(**
>>> ErrorReportValve.java:98)
>>>      at org.apache.catalina.valves.****AccessLogValve.invoke(**
>>> AccessLogValve.java:927)
>>>      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:****999)
>>>      at org.apache.coyote.****AbstractProtocol$****
>>> AbstractConnectionHandler.**
>>> process(AbstractProtocol.java:****565)
>>>      at org.apache.tomcat.util.net.****JIoEndpoint$SocketProcessor.**
>>> run(JIoEndpoint.java:309)
>>>      at java.util.concurrent.****ThreadPoolExecutor.runWorker(****
>>> ThreadPoolExecutor.java:1110)
>>>      at java.util.concurrent.****ThreadPoolExecutor$Worker.run(****
>>> ThreadPoolExecutor.java:603)
>>>      at java.lang.Thread.run(Thread.****java:722)
>>>
>>>
>>>
>>> On 7/8/2012 4:32 PM, Romain Manni-Bucau wrote:
>>>
>>>  i don't think so,
>>>>
>>>> can you try moving your code in a unit test to see if it still happen?
>>>>
>>>> - Romain
>>>>
>>>>
>>>> 2012/7/8 David Nordahl<da...@thinkology.org>
>>>>
>>>>   Could it be the Tomcat JDBCRealm I have enforcing container managed
>>>>
>>>>> security from user data in the same table?
>>>>>
>>>>>
>>>>> On 7/8/2012 4:14 PM, Romain Manni-Bucau wrote:
>>>>>
>>>>>   i can't say no but i'm pretty sure it is something in the container
>>>>>
>>>>>> rather
>>>>>> in the DB.
>>>>>>
>>>>>> - Romain
>>>>>>
>>>>>>
>>>>>> 2012/7/8 David Nordahl<da...@thinkology.org>
>>>>>>
>>>>>>    Maybe the DB settings could have something to do with it? I'm using
>>>>>> MySQL
>>>>>>
>>>>>>  with it's default setup which uses InnoDB.  I notice in the
>>>>>>> documentation
>>>>>>> that "InnoDB, with innodb_flush_log_at_trx_commit set to 1, flushes
>>>>>>> the
>>>>>>> transaction log after each transaction, greatly improving
>>>>>>> reliability."
>>>>>>>
>>>>>>> Could some DB setting like this be causing the issue?
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On 7/8/2012 3:39 PM, Romain Manni-Bucau wrote:
>>>>>>>
>>>>>>>    can you share a small sample to reproduce it, will be easier to
>>>>>>> help
>>>>>>>
>>>>>>>  you?
>>>>>>>>
>>>>>>>> - Romain
>>>>>>>>
>>>>>>>>
>>>>>>>> 2012/7/8 David Nordahl<da...@thinkology.org>
>>>>>>>>
>>>>>>>>     Not that I've configured.. Unless one of the annotations creates
>>>>>>>> one:
>>>>>>>>
>>>>>>>>   @Entity
>>>>>>>>
>>>>>>>>> @Table(name = "user")
>>>>>>>>> @XmlRootElement
>>>>>>>>> @NamedQueries({
>>>>>>>>>         @NamedQuery(name = "User.findAll", query = "SELECT u FROM
>>>>>>>>> User
>>>>>>>>> u"),
>>>>>>>>>         @NamedQuery(name = "User.findByUserId", query = "SELECT u
>>>>>>>>> FROM
>>>>>>>>> User
>>>>>>>>> u
>>>>>>>>> WHERE u.userId = :userId"),
>>>>>>>>>         @NamedQuery(name = "User.findByUserName", query = "SELECT u
>>>>>>>>> FROM
>>>>>>>>> User
>>>>>>>>> u WHERE u.userName = :userName"),
>>>>>>>>>         @NamedQuery(name = "User.findByPassword", query = "SELECT u
>>>>>>>>> FROM
>>>>>>>>> User
>>>>>>>>> u WHERE u.password = :password"),
>>>>>>>>>         @NamedQuery(name = "User.findByEmail", query = "SELECT u
>>>>>>>>> FROM
>>>>>>>>> User u
>>>>>>>>> WHERE u.email = :email"),
>>>>>>>>>         @NamedQuery(name = "User.findByFirstName", query = "SELECT
>>>>>>>>> u
>>>>>>>>> FROM
>>>>>>>>> User
>>>>>>>>> u WHERE u.firstName = :firstName"),
>>>>>>>>>         @NamedQuery(name = "User.findByLastName", query = "SELECT u
>>>>>>>>> FROM
>>>>>>>>> User
>>>>>>>>> u WHERE u.lastName = :lastName"),
>>>>>>>>>         @NamedQuery(name = "User.findByLoginFailures", query =
>>>>>>>>> "SELECT u
>>>>>>>>> FROM
>>>>>>>>> User u WHERE u.loginFailures = :loginFailures"),
>>>>>>>>>         @NamedQuery(name = "User.findByLastLoginFailure", query =
>>>>>>>>> "SELECT u
>>>>>>>>> FROM User u WHERE u.lastLoginFailure = :lastLoginFailure")})
>>>>>>>>> public class User implements Serializable {
>>>>>>>>>         private static final long serialVersionUID = 1L;
>>>>>>>>>         @Id
>>>>>>>>>         @GeneratedValue(strategy = GenerationType.IDENTITY)
>>>>>>>>>         @Basic(optional = false)
>>>>>>>>>         @Column(name = "user_id")
>>>>>>>>>         private Integer userId;
>>>>>>>>>         @Basic(optional = false)
>>>>>>>>>         @Column(name = "user_name")
>>>>>>>>>         private String userName;
>>>>>>>>>         @Basic(optional = false)
>>>>>>>>>         @Column(name = "password")
>>>>>>>>>         private String password;
>>>>>>>>>         @Column(name = "email")
>>>>>>>>>         private String email;
>>>>>>>>>         @Column(name = "first_name")
>>>>>>>>>         private String firstName;
>>>>>>>>>         @Column(name = "last_name")
>>>>>>>>>         private String lastName;
>>>>>>>>>         @Column(name = "login_failures")
>>>>>>>>>         private Integer loginFailures;
>>>>>>>>>         @Column(name = "last_login_failure")
>>>>>>>>>         @Temporal(TemporalType.**********TIMESTAMP)
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>         private Date lastLoginFailure;
>>>>>>>>>         @JoinColumn(name = "associated_customer",
>>>>>>>>> referencedColumnName =
>>>>>>>>> "customer_id")
>>>>>>>>>         @ManyToOne
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On 7/8/2012 3:25 PM, Romain Manni-Bucau wrote:
>>>>>>>>>
>>>>>>>>>     Hi,
>>>>>>>>>
>>>>>>>>>   any entity listener playing with id or special field on User
>>>>>>>>> entity?
>>>>>>>>>
>>>>>>>>>> - Romain
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> 2012/7/8 David Nordahl<da...@thinkology.org>
>>>>>>>>>>
>>>>>>>>>>      I'm attempting the code:
>>>>>>>>>>
>>>>>>>>>>    Properties properties = new Properties();
>>>>>>>>>>
>>>>>>>>>>  properties.setProperty(************Context.INITIAL_CONTEXT_*****
>>>>>>>>>>> ****
>>>>>>>>>>> ***
>>>>>>>>>>> FACTORY,
>>>>>>>>>>> "org.apache.openejb.client.**************
>>>>>>>>>>> LocalInitialContextFactory"**)****;
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> InitialContext initialContext = new InitialContext(properties);
>>>>>>>>>>> Object object = initialContext.lookup("***********
>>>>>>>>>>> *UserFacadeLocal");
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> UserFacadeLocal userFacade = (UserFacadeLocal) object;
>>>>>>>>>>> User newuser = new User();
>>>>>>>>>>> newuser.setEmail("cow@cow.moo"************);
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> newuser.setUserName("steve");
>>>>>>>>>>> newuser.setPassword("cows");
>>>>>>>>>>> userFacade.create(newuser);
>>>>>>>>>>>
>>>>>>>>>>> but keep getting "org.apache.openjpa.************
>>>>>>>>>>> persistence.****
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> InvalidStateException:
>>>>>>>>>>>
>>>>>>>>>>> Detected reentrant flush.  Make sure your flush-time instance
>>>>>>>>>>> callback
>>>>>>>>>>> methods or event listeners do not invoke any operations that
>>>>>>>>>>> require
>>>>>>>>>>> the
>>>>>>>>>>> in-progress flush to complete."
>>>>>>>>>>>
>>>>>>>>>>> I tried setting "openjpa.FlushBeforeQueries" to false just to see
>>>>>>>>>>> if
>>>>>>>>>>> I
>>>>>>>>>>> can
>>>>>>>>>>> get the error to go away, but it makes no difference.  I can't
>>>>>>>>>>> find a
>>>>>>>>>>> flush() call in my project and according to the table in the
>>>>>>>>>>> docs,
>>>>>>>>>>> flush
>>>>>>>>>>> is
>>>>>>>>>>> not called if this parameter is set.  What am I not doing
>>>>>>>>>>> correctly
>>>>>>>>>>> here?
>>>>>>>>>>>
>>>>>>>>>>> Thank you,
>>>>>>>>>>> David
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>

Re: Detected Reentrant Flush

Posted by David Nordahl <da...@thinkology.org>.
Tried the snap shot.. I get an error in Netbeans saying that it can't 
deploy the app and to check the server log, yet the server log has no 
errors and shows the app deploying successfully yet I cannot open the 
web host in the browser.  I give up... I could have written all the 
middle ware needed for this project myself by now.  Thanks for your 
efforts.

On 7/8/2012 4:56 PM, Romain Manni-Bucau wrote:
> hmm
>
> you use tomee 1.0.0
>
> can you give it a try to the snapshot please? we worked a bit on netbeans
> integration.
>
> - Romain
>
>
> 2012/7/8 David Nordahl<da...@thinkology.org>
>
>> Btw.. Is it normal to have these exceptions on startup?  I saw another
>> post saying they were, but I thought I might double check.  I seem to be
>> able to query through open EJB, but not update and add.  I'm also wondering
>> if there is anyway that the reentrant flush error is covering up another
>> error.  I guess I can start working on a test case.. I wish I could just
>> find a netbeans JSP2.0/EJB/TomEE sample project where everything was
>> already setup correctly.
>>
>> SEVERE: Error in safeBind method
>> javax.naming.**NameNotFoundException: Name [openejb] is not bound in this
>> Context. Unable to find [openejb].
>>      at org.apache.naming.**NamingContext.lookup(**NamingContext.java:820)
>>      at org.apache.naming.**NamingContext.lookup(**NamingContext.java:168)
>>      at org.apache.tomee.catalina.**TomcatWebAppBuilder.safeBind(**
>> TomcatWebAppBuilder.java:1196)
>>      at org.apache.tomee.catalina.**TomcatWebAppBuilder.**afterStart(**
>> TomcatWebAppBuilder.java:776)
>>      at org.apache.tomee.catalina.**GlobalListenerSupport.**lifecycleEvent(
>> **GlobalListenerSupport.java:**103)
>>      at org.apache.catalina.util.**LifecycleSupport.**fireLifecycleEvent(**
>> LifecycleSupport.java:119)
>>      at org.apache.catalina.util.**LifecycleBase.**fireLifecycleEvent(**
>> LifecycleBase.java:90)
>>      at org.apache.catalina.util.**LifecycleBase.**setStateInternal(**
>> LifecycleBase.java:401)
>>      at org.apache.catalina.util.**LifecycleBase.start(**
>> LifecycleBase.java:168)
>>      at org.apache.catalina.core.**ContainerBase.**addChildInternal(**
>> ContainerBase.java:895)
>>      at org.apache.catalina.core.**ContainerBase.addChild(**
>> ContainerBase.java:871)
>>      at org.apache.catalina.core.**StandardHost.addChild(**
>> StandardHost.java:615)
>>      at org.apache.catalina.startup.**HostConfig.deployDescriptor(**
>> HostConfig.java:649)
>>      at org.apache.catalina.startup.**HostConfig.deployApps(**
>> HostConfig.java:530)
>>      at org.apache.catalina.startup.**HostConfig.check(HostConfig.**
>> java:1471)
>>      at sun.reflect.**NativeMethodAccessorImpl.**invoke0(Native Method)
>>      at sun.reflect.**NativeMethodAccessorImpl.**invoke(**
>> NativeMethodAccessorImpl.java:**57)
>>      at sun.reflect.**DelegatingMethodAccessorImpl.**invoke(**
>> DelegatingMethodAccessorImpl.**java:43)
>>      at java.lang.reflect.Method.**invoke(Method.java:601)
>>      at org.apache.tomcat.util.**modeler.BaseModelMBean.invoke(**
>> BaseModelMBean.java:301)
>>      at com.sun.jmx.interceptor.**DefaultMBeanServerInterceptor.**invoke(**
>> DefaultMBeanServerInterceptor.**java:819)
>>      at com.sun.jmx.mbeanserver.**JmxMBeanServer.invoke(**
>> JmxMBeanServer.java:791)
>>      at org.apache.catalina.manager.**ManagerServlet.check(**
>> ManagerServlet.java:1436)
>>      at org.apache.catalina.manager.**ManagerServlet.deploy(**
>> ManagerServlet.java:856)
>>      at org.apache.catalina.manager.**ManagerServlet.doGet(**
>> ManagerServlet.java:353)
>>      at javax.servlet.http.**HttpServlet.service(**HttpServlet.java:621)
>>      at javax.servlet.http.**HttpServlet.service(**HttpServlet.java:722)
>>      at org.apache.catalina.core.**ApplicationFilterChain.**
>> internalDoFilter(**ApplicationFilterChain.java:**305)
>>      at org.apache.catalina.core.**ApplicationFilterChain.**doFilter(**
>> ApplicationFilterChain.java:**210)
>>      at org.apache.catalina.filters.**SetCharacterEncodingFilter.**
>> doFilter(**SetCharacterEncodingFilter.**java:108)
>>      at org.apache.catalina.core.**ApplicationFilterChain.**
>> internalDoFilter(**ApplicationFilterChain.java:**243)
>>      at org.apache.catalina.core.**ApplicationFilterChain.**doFilter(**
>> ApplicationFilterChain.java:**210)
>>      at org.apache.catalina.core.**StandardWrapperValve.invoke(**
>> StandardWrapperValve.java:225)
>>      at org.apache.catalina.core.**StandardContextValve.invoke(**
>> StandardContextValve.java:169)
>>      at org.apache.tomee.catalina.**OpenEJBValve.invoke(**
>> OpenEJBValve.java:44)
>>      at org.apache.catalina.**authenticator.**AuthenticatorBase.invoke(**
>> AuthenticatorBase.java:581)
>>      at org.apache.catalina.core.**StandardHostValve.invoke(**
>> StandardHostValve.java:168)
>>      at org.apache.catalina.valves.**ErrorReportValve.invoke(**
>> ErrorReportValve.java:98)
>>      at org.apache.catalina.valves.**AccessLogValve.invoke(**
>> AccessLogValve.java:927)
>>      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:**999)
>>      at org.apache.coyote.**AbstractProtocol$**AbstractConnectionHandler.**
>> process(AbstractProtocol.java:**565)
>>      at org.apache.tomcat.util.net.**JIoEndpoint$SocketProcessor.**
>> run(JIoEndpoint.java:309)
>>      at java.util.concurrent.**ThreadPoolExecutor.runWorker(**
>> ThreadPoolExecutor.java:1110)
>>      at java.util.concurrent.**ThreadPoolExecutor$Worker.run(**
>> ThreadPoolExecutor.java:603)
>>      at java.lang.Thread.run(Thread.**java:722)
>>
>> Jul 08, 2012 4:40:06 PM org.apache.tomee.catalina.**TomcatWebAppBuilder
>> safeBind
>> INFO: TransactionManager already bound, ignoring
>> Jul 08, 2012 4:40:06 PM org.apache.tomee.catalina.**TomcatWebAppBuilder
>> safeBind
>> INFO: TransactionSynchronizationRegi**stry already bound, ignoring
>> Jul 08, 2012 4:40:06 PM org.apache.tomee.catalina.**TomcatWebAppBuilder
>> safeBind
>> SEVERE: Error in safeBind method
>> javax.naming.**NameNotFoundException: No ORB registered with the OpenEJB
>> system
>>      at org.apache.openejb.core.ivm.**naming.**SystemComponentReference.**
>> getObject(**SystemComponentReference.java:**38)
>>      at org.apache.openejb.core.ivm.**naming.Reference.getContent(**
>> Reference.java:40)
>>      at org.apache.xbean.naming.**reference.SimpleReference$**
>> SimpleObjectFactory.**getObjectInstance(**SimpleReference.java:137)
>>      at javax.naming.spi.**NamingManager.**getObjectInstance(**
>> NamingManager.java:321)
>>      at org.apache.naming.**NamingContext.lookup(**NamingContext.java:843)
>>      at org.apache.naming.**NamingContext.lookup(**NamingContext.java:168)
>>      at org.apache.tomee.catalina.**TomcatWebAppBuilder.safeBind(**
>> TomcatWebAppBuilder.java:1196)
>>      at org.apache.tomee.catalina.**TomcatWebAppBuilder.**afterStart(**
>> TomcatWebAppBuilder.java:806)
>>      at org.apache.tomee.catalina.**GlobalListenerSupport.**lifecycleEvent(
>> **GlobalListenerSupport.java:**103)
>>      at org.apache.catalina.util.**LifecycleSupport.**fireLifecycleEvent(**
>> LifecycleSupport.java:119)
>>      at org.apache.catalina.util.**LifecycleBase.**fireLifecycleEvent(**
>> LifecycleBase.java:90)
>>      at org.apache.catalina.util.**LifecycleBase.**setStateInternal(**
>> LifecycleBase.java:401)
>>      at org.apache.catalina.util.**LifecycleBase.start(**
>> LifecycleBase.java:168)
>>      at org.apache.catalina.core.**ContainerBase.**addChildInternal(**
>> ContainerBase.java:895)
>>      at org.apache.catalina.core.**ContainerBase.addChild(**
>> ContainerBase.java:871)
>>      at org.apache.catalina.core.**StandardHost.addChild(**
>> StandardHost.java:615)
>>      at org.apache.catalina.startup.**HostConfig.deployDescriptor(**
>> HostConfig.java:649)
>>      at org.apache.catalina.startup.**HostConfig.deployApps(**
>> HostConfig.java:530)
>>      at org.apache.catalina.startup.**HostConfig.check(HostConfig.**
>> java:1471)
>>      at sun.reflect.**NativeMethodAccessorImpl.**invoke0(Native Method)
>>      at sun.reflect.**NativeMethodAccessorImpl.**invoke(**
>> NativeMethodAccessorImpl.java:**57)
>>      at sun.reflect.**DelegatingMethodAccessorImpl.**invoke(**
>> DelegatingMethodAccessorImpl.**java:43)
>>      at java.lang.reflect.Method.**invoke(Method.java:601)
>>      at org.apache.tomcat.util.**modeler.BaseModelMBean.invoke(**
>> BaseModelMBean.java:301)
>>      at com.sun.jmx.interceptor.**DefaultMBeanServerInterceptor.**invoke(**
>> DefaultMBeanServerInterceptor.**java:819)
>>      at com.sun.jmx.mbeanserver.**JmxMBeanServer.invoke(**
>> JmxMBeanServer.java:791)
>>      at org.apache.catalina.manager.**ManagerServlet.check(**
>> ManagerServlet.java:1436)
>>      at org.apache.catalina.manager.**ManagerServlet.deploy(**
>> ManagerServlet.java:856)
>>      at org.apache.catalina.manager.**ManagerServlet.doGet(**
>> ManagerServlet.java:353)
>>      at javax.servlet.http.**HttpServlet.service(**HttpServlet.java:621)
>>      at javax.servlet.http.**HttpServlet.service(**HttpServlet.java:722)
>>      at org.apache.catalina.core.**ApplicationFilterChain.**
>> internalDoFilter(**ApplicationFilterChain.java:**305)
>>      at org.apache.catalina.core.**ApplicationFilterChain.**doFilter(**
>> ApplicationFilterChain.java:**210)
>>      at org.apache.catalina.filters.**SetCharacterEncodingFilter.**
>> doFilter(**SetCharacterEncodingFilter.**java:108)
>>      at org.apache.catalina.core.**ApplicationFilterChain.**
>> internalDoFilter(**ApplicationFilterChain.java:**243)
>>      at org.apache.catalina.core.**ApplicationFilterChain.**doFilter(**
>> ApplicationFilterChain.java:**210)
>>      at org.apache.catalina.core.**StandardWrapperValve.invoke(**
>> StandardWrapperValve.java:225)
>>      at org.apache.catalina.core.**StandardContextValve.invoke(**
>> StandardContextValve.java:169)
>>      at org.apache.tomee.catalina.**OpenEJBValve.invoke(**
>> OpenEJBValve.java:44)
>>      at org.apache.catalina.**authenticator.**AuthenticatorBase.invoke(**
>> AuthenticatorBase.java:581)
>>      at org.apache.catalina.core.**StandardHostValve.invoke(**
>> StandardHostValve.java:168)
>>      at org.apache.catalina.valves.**ErrorReportValve.invoke(**
>> ErrorReportValve.java:98)
>>      at org.apache.catalina.valves.**AccessLogValve.invoke(**
>> AccessLogValve.java:927)
>>      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:**999)
>>      at org.apache.coyote.**AbstractProtocol$**AbstractConnectionHandler.**
>> process(AbstractProtocol.java:**565)
>>      at org.apache.tomcat.util.net.**JIoEndpoint$SocketProcessor.**
>> run(JIoEndpoint.java:309)
>>      at java.util.concurrent.**ThreadPoolExecutor.runWorker(**
>> ThreadPoolExecutor.java:1110)
>>      at java.util.concurrent.**ThreadPoolExecutor$Worker.run(**
>> ThreadPoolExecutor.java:603)
>>      at java.lang.Thread.run(Thread.**java:722)
>>
>> Jul 08, 2012 4:40:43 PM org.apache.tomee.catalina.**TomcatWebAppBuilder
>> safeBind
>> SEVERE: Error in safeBind method
>> javax.naming.**NameNotFoundException: No HandleDelegate registered with
>> the OpenEJB system
>>      at org.apache.openejb.core.ivm.**naming.**SystemComponentReference.**
>> getObject(**SystemComponentReference.java:**38)
>>      at org.apache.openejb.core.ivm.**naming.Reference.getContent(**
>> Reference.java:40)
>>      at org.apache.xbean.naming.**reference.SimpleReference$**
>> SimpleObjectFactory.**getObjectInstance(**SimpleReference.java:137)
>>      at javax.naming.spi.**NamingManager.**getObjectInstance(**
>> NamingManager.java:321)
>>      at org.apache.naming.**NamingContext.lookup(**NamingContext.java:843)
>>      at org.apache.naming.**NamingContext.lookup(**NamingContext.java:168)
>>      at org.apache.tomee.catalina.**TomcatWebAppBuilder.safeBind(**
>> TomcatWebAppBuilder.java:1196)
>>      at org.apache.tomee.catalina.**TomcatWebAppBuilder.**afterStart(**
>> TomcatWebAppBuilder.java:807)
>>      at org.apache.tomee.catalina.**GlobalListenerSupport.**lifecycleEvent(
>> **GlobalListenerSupport.java:**103)
>>      at org.apache.catalina.util.**LifecycleSupport.**fireLifecycleEvent(**
>> LifecycleSupport.java:119)
>>      at org.apache.catalina.util.**LifecycleBase.**fireLifecycleEvent(**
>> LifecycleBase.java:90)
>>      at org.apache.catalina.util.**LifecycleBase.**setStateInternal(**
>> LifecycleBase.java:401)
>>      at org.apache.catalina.util.**LifecycleBase.start(**
>> LifecycleBase.java:168)
>>      at org.apache.catalina.core.**ContainerBase.**addChildInternal(**
>> ContainerBase.java:895)
>>      at org.apache.catalina.core.**ContainerBase.addChild(**
>> ContainerBase.java:871)
>>      at org.apache.catalina.core.**StandardHost.addChild(**
>> StandardHost.java:615)
>>      at org.apache.catalina.startup.**HostConfig.deployDescriptor(**
>> HostConfig.java:649)
>>      at org.apache.catalina.startup.**HostConfig.deployApps(**
>> HostConfig.java:530)
>>      at org.apache.catalina.startup.**HostConfig.check(HostConfig.**
>> java:1471)
>>      at sun.reflect.**NativeMethodAccessorImpl.**invoke0(Native Method)
>>      at sun.reflect.**NativeMethodAccessorImpl.**invoke(**
>> NativeMethodAccessorImpl.java:**57)
>>      at sun.reflect.**DelegatingMethodAccessorImpl.**invoke(**
>> DelegatingMethodAccessorImpl.**java:43)
>>      at java.lang.reflect.Method.**invoke(Method.java:601)
>>      at org.apache.tomcat.util.**modeler.BaseModelMBean.invoke(**
>> BaseModelMBean.java:301)
>>      at com.sun.jmx.interceptor.**DefaultMBeanServerInterceptor.**invoke(**
>> DefaultMBeanServerInterceptor.**java:819)
>>      at com.sun.jmx.mbeanserver.**JmxMBeanServer.invoke(**
>> JmxMBeanServer.java:791)
>>      at org.apache.catalina.manager.**ManagerServlet.check(**
>> ManagerServlet.java:1436)
>>      at org.apache.catalina.manager.**ManagerServlet.deploy(**
>> ManagerServlet.java:856)
>>      at org.apache.catalina.manager.**ManagerServlet.doGet(**
>> ManagerServlet.java:353)
>>      at javax.servlet.http.**HttpServlet.service(**HttpServlet.java:621)
>>      at javax.servlet.http.**HttpServlet.service(**HttpServlet.java:722)
>>      at org.apache.catalina.core.**ApplicationFilterChain.**
>> internalDoFilter(**ApplicationFilterChain.java:**305)
>>      at org.apache.catalina.core.**ApplicationFilterChain.**doFilter(**
>> ApplicationFilterChain.java:**210)
>>      at org.apache.catalina.filters.**SetCharacterEncodingFilter.**
>> doFilter(**SetCharacterEncodingFilter.**java:108)
>>      at org.apache.catalina.core.**ApplicationFilterChain.**
>> internalDoFilter(**ApplicationFilterChain.java:**243)
>>      at org.apache.catalina.core.**ApplicationFilterChain.**doFilter(**
>> ApplicationFilterChain.java:**210)
>>      at org.apache.catalina.core.**StandardWrapperValve.invoke(**
>> StandardWrapperValve.java:225)
>>      at org.apache.catalina.core.**StandardContextValve.invoke(**
>> StandardContextValve.java:169)
>>      at org.apache.tomee.catalina.**OpenEJBValve.invoke(**
>> OpenEJBValve.java:44)
>>      at org.apache.catalina.**authenticator.**AuthenticatorBase.invoke(**
>> AuthenticatorBase.java:581)
>>      at org.apache.catalina.core.**StandardHostValve.invoke(**
>> StandardHostValve.java:168)
>>      at org.apache.catalina.valves.**ErrorReportValve.invoke(**
>> ErrorReportValve.java:98)
>>      at org.apache.catalina.valves.**AccessLogValve.invoke(**
>> AccessLogValve.java:927)
>>      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:**999)
>>      at org.apache.coyote.**AbstractProtocol$**AbstractConnectionHandler.**
>> process(AbstractProtocol.java:**565)
>>      at org.apache.tomcat.util.net.**JIoEndpoint$SocketProcessor.**
>> run(JIoEndpoint.java:309)
>>      at java.util.concurrent.**ThreadPoolExecutor.runWorker(**
>> ThreadPoolExecutor.java:1110)
>>      at java.util.concurrent.**ThreadPoolExecutor$Worker.run(**
>> ThreadPoolExecutor.java:603)
>>      at java.lang.Thread.run(Thread.**java:722)
>>
>>
>>
>> On 7/8/2012 4:32 PM, Romain Manni-Bucau wrote:
>>
>>> i don't think so,
>>>
>>> can you try moving your code in a unit test to see if it still happen?
>>>
>>> - Romain
>>>
>>>
>>> 2012/7/8 David Nordahl<da...@thinkology.org>
>>>
>>>   Could it be the Tomcat JDBCRealm I have enforcing container managed
>>>> security from user data in the same table?
>>>>
>>>>
>>>> On 7/8/2012 4:14 PM, Romain Manni-Bucau wrote:
>>>>
>>>>   i can't say no but i'm pretty sure it is something in the container
>>>>> rather
>>>>> in the DB.
>>>>>
>>>>> - Romain
>>>>>
>>>>>
>>>>> 2012/7/8 David Nordahl<da...@thinkology.org>
>>>>>
>>>>>    Maybe the DB settings could have something to do with it? I'm using
>>>>> MySQL
>>>>>
>>>>>> with it's default setup which uses InnoDB.  I notice in the
>>>>>> documentation
>>>>>> that "InnoDB, with innodb_flush_log_at_trx_commit set to 1, flushes the
>>>>>> transaction log after each transaction, greatly improving reliability."
>>>>>>
>>>>>> Could some DB setting like this be causing the issue?
>>>>>>
>>>>>>
>>>>>>
>>>>>> On 7/8/2012 3:39 PM, Romain Manni-Bucau wrote:
>>>>>>
>>>>>>    can you share a small sample to reproduce it, will be easier to help
>>>>>>
>>>>>>> you?
>>>>>>>
>>>>>>> - Romain
>>>>>>>
>>>>>>>
>>>>>>> 2012/7/8 David Nordahl<da...@thinkology.org>
>>>>>>>
>>>>>>>     Not that I've configured.. Unless one of the annotations creates
>>>>>>> one:
>>>>>>>
>>>>>>>   @Entity
>>>>>>>> @Table(name = "user")
>>>>>>>> @XmlRootElement
>>>>>>>> @NamedQueries({
>>>>>>>>         @NamedQuery(name = "User.findAll", query = "SELECT u FROM User
>>>>>>>> u"),
>>>>>>>>         @NamedQuery(name = "User.findByUserId", query = "SELECT u FROM
>>>>>>>> User
>>>>>>>> u
>>>>>>>> WHERE u.userId = :userId"),
>>>>>>>>         @NamedQuery(name = "User.findByUserName", query = "SELECT u
>>>>>>>> FROM
>>>>>>>> User
>>>>>>>> u WHERE u.userName = :userName"),
>>>>>>>>         @NamedQuery(name = "User.findByPassword", query = "SELECT u
>>>>>>>> FROM
>>>>>>>> User
>>>>>>>> u WHERE u.password = :password"),
>>>>>>>>         @NamedQuery(name = "User.findByEmail", query = "SELECT u FROM
>>>>>>>> User u
>>>>>>>> WHERE u.email = :email"),
>>>>>>>>         @NamedQuery(name = "User.findByFirstName", query = "SELECT u
>>>>>>>> FROM
>>>>>>>> User
>>>>>>>> u WHERE u.firstName = :firstName"),
>>>>>>>>         @NamedQuery(name = "User.findByLastName", query = "SELECT u
>>>>>>>> FROM
>>>>>>>> User
>>>>>>>> u WHERE u.lastName = :lastName"),
>>>>>>>>         @NamedQuery(name = "User.findByLoginFailures", query =
>>>>>>>> "SELECT u
>>>>>>>> FROM
>>>>>>>> User u WHERE u.loginFailures = :loginFailures"),
>>>>>>>>         @NamedQuery(name = "User.findByLastLoginFailure", query =
>>>>>>>> "SELECT u
>>>>>>>> FROM User u WHERE u.lastLoginFailure = :lastLoginFailure")})
>>>>>>>> public class User implements Serializable {
>>>>>>>>         private static final long serialVersionUID = 1L;
>>>>>>>>         @Id
>>>>>>>>         @GeneratedValue(strategy = GenerationType.IDENTITY)
>>>>>>>>         @Basic(optional = false)
>>>>>>>>         @Column(name = "user_id")
>>>>>>>>         private Integer userId;
>>>>>>>>         @Basic(optional = false)
>>>>>>>>         @Column(name = "user_name")
>>>>>>>>         private String userName;
>>>>>>>>         @Basic(optional = false)
>>>>>>>>         @Column(name = "password")
>>>>>>>>         private String password;
>>>>>>>>         @Column(name = "email")
>>>>>>>>         private String email;
>>>>>>>>         @Column(name = "first_name")
>>>>>>>>         private String firstName;
>>>>>>>>         @Column(name = "last_name")
>>>>>>>>         private String lastName;
>>>>>>>>         @Column(name = "login_failures")
>>>>>>>>         private Integer loginFailures;
>>>>>>>>         @Column(name = "last_login_failure")
>>>>>>>>         @Temporal(TemporalType.********TIMESTAMP)
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>         private Date lastLoginFailure;
>>>>>>>>         @JoinColumn(name = "associated_customer",
>>>>>>>> referencedColumnName =
>>>>>>>> "customer_id")
>>>>>>>>         @ManyToOne
>>>>>>>>
>>>>>>>>
>>>>>>>> On 7/8/2012 3:25 PM, Romain Manni-Bucau wrote:
>>>>>>>>
>>>>>>>>     Hi,
>>>>>>>>
>>>>>>>>   any entity listener playing with id or special field on User entity?
>>>>>>>>> - Romain
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> 2012/7/8 David Nordahl<da...@thinkology.org>
>>>>>>>>>
>>>>>>>>>      I'm attempting the code:
>>>>>>>>>
>>>>>>>>>    Properties properties = new Properties();
>>>>>>>>>
>>>>>>>>>> properties.setProperty(**********Context.INITIAL_CONTEXT_*******
>>>>>>>>>> ***
>>>>>>>>>> FACTORY,
>>>>>>>>>> "org.apache.openejb.client.************
>>>>>>>>>> LocalInitialContextFactory"**)**;
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> InitialContext initialContext = new InitialContext(properties);
>>>>>>>>>> Object object = initialContext.lookup("*********
>>>>>>>>>> *UserFacadeLocal");
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> UserFacadeLocal userFacade = (UserFacadeLocal) object;
>>>>>>>>>> User newuser = new User();
>>>>>>>>>> newuser.setEmail("cow@cow.moo"**********);
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> newuser.setUserName("steve");
>>>>>>>>>> newuser.setPassword("cows");
>>>>>>>>>> userFacade.create(newuser);
>>>>>>>>>>
>>>>>>>>>> but keep getting "org.apache.openjpa.**********persistence.****
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> InvalidStateException:
>>>>>>>>>>
>>>>>>>>>> Detected reentrant flush.  Make sure your flush-time instance
>>>>>>>>>> callback
>>>>>>>>>> methods or event listeners do not invoke any operations that
>>>>>>>>>> require
>>>>>>>>>> the
>>>>>>>>>> in-progress flush to complete."
>>>>>>>>>>
>>>>>>>>>> I tried setting "openjpa.FlushBeforeQueries" to false just to see
>>>>>>>>>> if
>>>>>>>>>> I
>>>>>>>>>> can
>>>>>>>>>> get the error to go away, but it makes no difference.  I can't
>>>>>>>>>> find a
>>>>>>>>>> flush() call in my project and according to the table in the docs,
>>>>>>>>>> flush
>>>>>>>>>> is
>>>>>>>>>> not called if this parameter is set.  What am I not doing correctly
>>>>>>>>>> here?
>>>>>>>>>>
>>>>>>>>>> Thank you,
>>>>>>>>>> David
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>

Re: Detected Reentrant Flush

Posted by Romain Manni-Bucau <rm...@gmail.com>.
hmm

you use tomee 1.0.0

can you give it a try to the snapshot please? we worked a bit on netbeans
integration.

- Romain


2012/7/8 David Nordahl <da...@thinkology.org>

> Btw.. Is it normal to have these exceptions on startup?  I saw another
> post saying they were, but I thought I might double check.  I seem to be
> able to query through open EJB, but not update and add.  I'm also wondering
> if there is anyway that the reentrant flush error is covering up another
> error.  I guess I can start working on a test case.. I wish I could just
> find a netbeans JSP2.0/EJB/TomEE sample project where everything was
> already setup correctly.
>
> SEVERE: Error in safeBind method
> javax.naming.**NameNotFoundException: Name [openejb] is not bound in this
> Context. Unable to find [openejb].
>     at org.apache.naming.**NamingContext.lookup(**NamingContext.java:820)
>     at org.apache.naming.**NamingContext.lookup(**NamingContext.java:168)
>     at org.apache.tomee.catalina.**TomcatWebAppBuilder.safeBind(**
> TomcatWebAppBuilder.java:1196)
>     at org.apache.tomee.catalina.**TomcatWebAppBuilder.**afterStart(**
> TomcatWebAppBuilder.java:776)
>     at org.apache.tomee.catalina.**GlobalListenerSupport.**lifecycleEvent(
> **GlobalListenerSupport.java:**103)
>     at org.apache.catalina.util.**LifecycleSupport.**fireLifecycleEvent(**
> LifecycleSupport.java:119)
>     at org.apache.catalina.util.**LifecycleBase.**fireLifecycleEvent(**
> LifecycleBase.java:90)
>     at org.apache.catalina.util.**LifecycleBase.**setStateInternal(**
> LifecycleBase.java:401)
>     at org.apache.catalina.util.**LifecycleBase.start(**
> LifecycleBase.java:168)
>     at org.apache.catalina.core.**ContainerBase.**addChildInternal(**
> ContainerBase.java:895)
>     at org.apache.catalina.core.**ContainerBase.addChild(**
> ContainerBase.java:871)
>     at org.apache.catalina.core.**StandardHost.addChild(**
> StandardHost.java:615)
>     at org.apache.catalina.startup.**HostConfig.deployDescriptor(**
> HostConfig.java:649)
>     at org.apache.catalina.startup.**HostConfig.deployApps(**
> HostConfig.java:530)
>     at org.apache.catalina.startup.**HostConfig.check(HostConfig.**
> java:1471)
>     at sun.reflect.**NativeMethodAccessorImpl.**invoke0(Native Method)
>     at sun.reflect.**NativeMethodAccessorImpl.**invoke(**
> NativeMethodAccessorImpl.java:**57)
>     at sun.reflect.**DelegatingMethodAccessorImpl.**invoke(**
> DelegatingMethodAccessorImpl.**java:43)
>     at java.lang.reflect.Method.**invoke(Method.java:601)
>     at org.apache.tomcat.util.**modeler.BaseModelMBean.invoke(**
> BaseModelMBean.java:301)
>     at com.sun.jmx.interceptor.**DefaultMBeanServerInterceptor.**invoke(**
> DefaultMBeanServerInterceptor.**java:819)
>     at com.sun.jmx.mbeanserver.**JmxMBeanServer.invoke(**
> JmxMBeanServer.java:791)
>     at org.apache.catalina.manager.**ManagerServlet.check(**
> ManagerServlet.java:1436)
>     at org.apache.catalina.manager.**ManagerServlet.deploy(**
> ManagerServlet.java:856)
>     at org.apache.catalina.manager.**ManagerServlet.doGet(**
> ManagerServlet.java:353)
>     at javax.servlet.http.**HttpServlet.service(**HttpServlet.java:621)
>     at javax.servlet.http.**HttpServlet.service(**HttpServlet.java:722)
>     at org.apache.catalina.core.**ApplicationFilterChain.**
> internalDoFilter(**ApplicationFilterChain.java:**305)
>     at org.apache.catalina.core.**ApplicationFilterChain.**doFilter(**
> ApplicationFilterChain.java:**210)
>     at org.apache.catalina.filters.**SetCharacterEncodingFilter.**
> doFilter(**SetCharacterEncodingFilter.**java:108)
>     at org.apache.catalina.core.**ApplicationFilterChain.**
> internalDoFilter(**ApplicationFilterChain.java:**243)
>     at org.apache.catalina.core.**ApplicationFilterChain.**doFilter(**
> ApplicationFilterChain.java:**210)
>     at org.apache.catalina.core.**StandardWrapperValve.invoke(**
> StandardWrapperValve.java:225)
>     at org.apache.catalina.core.**StandardContextValve.invoke(**
> StandardContextValve.java:169)
>     at org.apache.tomee.catalina.**OpenEJBValve.invoke(**
> OpenEJBValve.java:44)
>     at org.apache.catalina.**authenticator.**AuthenticatorBase.invoke(**
> AuthenticatorBase.java:581)
>     at org.apache.catalina.core.**StandardHostValve.invoke(**
> StandardHostValve.java:168)
>     at org.apache.catalina.valves.**ErrorReportValve.invoke(**
> ErrorReportValve.java:98)
>     at org.apache.catalina.valves.**AccessLogValve.invoke(**
> AccessLogValve.java:927)
>     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:**999)
>     at org.apache.coyote.**AbstractProtocol$**AbstractConnectionHandler.**
> process(AbstractProtocol.java:**565)
>     at org.apache.tomcat.util.net.**JIoEndpoint$SocketProcessor.**
> run(JIoEndpoint.java:309)
>     at java.util.concurrent.**ThreadPoolExecutor.runWorker(**
> ThreadPoolExecutor.java:1110)
>     at java.util.concurrent.**ThreadPoolExecutor$Worker.run(**
> ThreadPoolExecutor.java:603)
>     at java.lang.Thread.run(Thread.**java:722)
>
> Jul 08, 2012 4:40:06 PM org.apache.tomee.catalina.**TomcatWebAppBuilder
> safeBind
> INFO: TransactionManager already bound, ignoring
> Jul 08, 2012 4:40:06 PM org.apache.tomee.catalina.**TomcatWebAppBuilder
> safeBind
> INFO: TransactionSynchronizationRegi**stry already bound, ignoring
> Jul 08, 2012 4:40:06 PM org.apache.tomee.catalina.**TomcatWebAppBuilder
> safeBind
> SEVERE: Error in safeBind method
> javax.naming.**NameNotFoundException: No ORB registered with the OpenEJB
> system
>     at org.apache.openejb.core.ivm.**naming.**SystemComponentReference.**
> getObject(**SystemComponentReference.java:**38)
>     at org.apache.openejb.core.ivm.**naming.Reference.getContent(**
> Reference.java:40)
>     at org.apache.xbean.naming.**reference.SimpleReference$**
> SimpleObjectFactory.**getObjectInstance(**SimpleReference.java:137)
>     at javax.naming.spi.**NamingManager.**getObjectInstance(**
> NamingManager.java:321)
>     at org.apache.naming.**NamingContext.lookup(**NamingContext.java:843)
>     at org.apache.naming.**NamingContext.lookup(**NamingContext.java:168)
>     at org.apache.tomee.catalina.**TomcatWebAppBuilder.safeBind(**
> TomcatWebAppBuilder.java:1196)
>     at org.apache.tomee.catalina.**TomcatWebAppBuilder.**afterStart(**
> TomcatWebAppBuilder.java:806)
>     at org.apache.tomee.catalina.**GlobalListenerSupport.**lifecycleEvent(
> **GlobalListenerSupport.java:**103)
>     at org.apache.catalina.util.**LifecycleSupport.**fireLifecycleEvent(**
> LifecycleSupport.java:119)
>     at org.apache.catalina.util.**LifecycleBase.**fireLifecycleEvent(**
> LifecycleBase.java:90)
>     at org.apache.catalina.util.**LifecycleBase.**setStateInternal(**
> LifecycleBase.java:401)
>     at org.apache.catalina.util.**LifecycleBase.start(**
> LifecycleBase.java:168)
>     at org.apache.catalina.core.**ContainerBase.**addChildInternal(**
> ContainerBase.java:895)
>     at org.apache.catalina.core.**ContainerBase.addChild(**
> ContainerBase.java:871)
>     at org.apache.catalina.core.**StandardHost.addChild(**
> StandardHost.java:615)
>     at org.apache.catalina.startup.**HostConfig.deployDescriptor(**
> HostConfig.java:649)
>     at org.apache.catalina.startup.**HostConfig.deployApps(**
> HostConfig.java:530)
>     at org.apache.catalina.startup.**HostConfig.check(HostConfig.**
> java:1471)
>     at sun.reflect.**NativeMethodAccessorImpl.**invoke0(Native Method)
>     at sun.reflect.**NativeMethodAccessorImpl.**invoke(**
> NativeMethodAccessorImpl.java:**57)
>     at sun.reflect.**DelegatingMethodAccessorImpl.**invoke(**
> DelegatingMethodAccessorImpl.**java:43)
>     at java.lang.reflect.Method.**invoke(Method.java:601)
>     at org.apache.tomcat.util.**modeler.BaseModelMBean.invoke(**
> BaseModelMBean.java:301)
>     at com.sun.jmx.interceptor.**DefaultMBeanServerInterceptor.**invoke(**
> DefaultMBeanServerInterceptor.**java:819)
>     at com.sun.jmx.mbeanserver.**JmxMBeanServer.invoke(**
> JmxMBeanServer.java:791)
>     at org.apache.catalina.manager.**ManagerServlet.check(**
> ManagerServlet.java:1436)
>     at org.apache.catalina.manager.**ManagerServlet.deploy(**
> ManagerServlet.java:856)
>     at org.apache.catalina.manager.**ManagerServlet.doGet(**
> ManagerServlet.java:353)
>     at javax.servlet.http.**HttpServlet.service(**HttpServlet.java:621)
>     at javax.servlet.http.**HttpServlet.service(**HttpServlet.java:722)
>     at org.apache.catalina.core.**ApplicationFilterChain.**
> internalDoFilter(**ApplicationFilterChain.java:**305)
>     at org.apache.catalina.core.**ApplicationFilterChain.**doFilter(**
> ApplicationFilterChain.java:**210)
>     at org.apache.catalina.filters.**SetCharacterEncodingFilter.**
> doFilter(**SetCharacterEncodingFilter.**java:108)
>     at org.apache.catalina.core.**ApplicationFilterChain.**
> internalDoFilter(**ApplicationFilterChain.java:**243)
>     at org.apache.catalina.core.**ApplicationFilterChain.**doFilter(**
> ApplicationFilterChain.java:**210)
>     at org.apache.catalina.core.**StandardWrapperValve.invoke(**
> StandardWrapperValve.java:225)
>     at org.apache.catalina.core.**StandardContextValve.invoke(**
> StandardContextValve.java:169)
>     at org.apache.tomee.catalina.**OpenEJBValve.invoke(**
> OpenEJBValve.java:44)
>     at org.apache.catalina.**authenticator.**AuthenticatorBase.invoke(**
> AuthenticatorBase.java:581)
>     at org.apache.catalina.core.**StandardHostValve.invoke(**
> StandardHostValve.java:168)
>     at org.apache.catalina.valves.**ErrorReportValve.invoke(**
> ErrorReportValve.java:98)
>     at org.apache.catalina.valves.**AccessLogValve.invoke(**
> AccessLogValve.java:927)
>     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:**999)
>     at org.apache.coyote.**AbstractProtocol$**AbstractConnectionHandler.**
> process(AbstractProtocol.java:**565)
>     at org.apache.tomcat.util.net.**JIoEndpoint$SocketProcessor.**
> run(JIoEndpoint.java:309)
>     at java.util.concurrent.**ThreadPoolExecutor.runWorker(**
> ThreadPoolExecutor.java:1110)
>     at java.util.concurrent.**ThreadPoolExecutor$Worker.run(**
> ThreadPoolExecutor.java:603)
>     at java.lang.Thread.run(Thread.**java:722)
>
> Jul 08, 2012 4:40:43 PM org.apache.tomee.catalina.**TomcatWebAppBuilder
> safeBind
> SEVERE: Error in safeBind method
> javax.naming.**NameNotFoundException: No HandleDelegate registered with
> the OpenEJB system
>     at org.apache.openejb.core.ivm.**naming.**SystemComponentReference.**
> getObject(**SystemComponentReference.java:**38)
>     at org.apache.openejb.core.ivm.**naming.Reference.getContent(**
> Reference.java:40)
>     at org.apache.xbean.naming.**reference.SimpleReference$**
> SimpleObjectFactory.**getObjectInstance(**SimpleReference.java:137)
>     at javax.naming.spi.**NamingManager.**getObjectInstance(**
> NamingManager.java:321)
>     at org.apache.naming.**NamingContext.lookup(**NamingContext.java:843)
>     at org.apache.naming.**NamingContext.lookup(**NamingContext.java:168)
>     at org.apache.tomee.catalina.**TomcatWebAppBuilder.safeBind(**
> TomcatWebAppBuilder.java:1196)
>     at org.apache.tomee.catalina.**TomcatWebAppBuilder.**afterStart(**
> TomcatWebAppBuilder.java:807)
>     at org.apache.tomee.catalina.**GlobalListenerSupport.**lifecycleEvent(
> **GlobalListenerSupport.java:**103)
>     at org.apache.catalina.util.**LifecycleSupport.**fireLifecycleEvent(**
> LifecycleSupport.java:119)
>     at org.apache.catalina.util.**LifecycleBase.**fireLifecycleEvent(**
> LifecycleBase.java:90)
>     at org.apache.catalina.util.**LifecycleBase.**setStateInternal(**
> LifecycleBase.java:401)
>     at org.apache.catalina.util.**LifecycleBase.start(**
> LifecycleBase.java:168)
>     at org.apache.catalina.core.**ContainerBase.**addChildInternal(**
> ContainerBase.java:895)
>     at org.apache.catalina.core.**ContainerBase.addChild(**
> ContainerBase.java:871)
>     at org.apache.catalina.core.**StandardHost.addChild(**
> StandardHost.java:615)
>     at org.apache.catalina.startup.**HostConfig.deployDescriptor(**
> HostConfig.java:649)
>     at org.apache.catalina.startup.**HostConfig.deployApps(**
> HostConfig.java:530)
>     at org.apache.catalina.startup.**HostConfig.check(HostConfig.**
> java:1471)
>     at sun.reflect.**NativeMethodAccessorImpl.**invoke0(Native Method)
>     at sun.reflect.**NativeMethodAccessorImpl.**invoke(**
> NativeMethodAccessorImpl.java:**57)
>     at sun.reflect.**DelegatingMethodAccessorImpl.**invoke(**
> DelegatingMethodAccessorImpl.**java:43)
>     at java.lang.reflect.Method.**invoke(Method.java:601)
>     at org.apache.tomcat.util.**modeler.BaseModelMBean.invoke(**
> BaseModelMBean.java:301)
>     at com.sun.jmx.interceptor.**DefaultMBeanServerInterceptor.**invoke(**
> DefaultMBeanServerInterceptor.**java:819)
>     at com.sun.jmx.mbeanserver.**JmxMBeanServer.invoke(**
> JmxMBeanServer.java:791)
>     at org.apache.catalina.manager.**ManagerServlet.check(**
> ManagerServlet.java:1436)
>     at org.apache.catalina.manager.**ManagerServlet.deploy(**
> ManagerServlet.java:856)
>     at org.apache.catalina.manager.**ManagerServlet.doGet(**
> ManagerServlet.java:353)
>     at javax.servlet.http.**HttpServlet.service(**HttpServlet.java:621)
>     at javax.servlet.http.**HttpServlet.service(**HttpServlet.java:722)
>     at org.apache.catalina.core.**ApplicationFilterChain.**
> internalDoFilter(**ApplicationFilterChain.java:**305)
>     at org.apache.catalina.core.**ApplicationFilterChain.**doFilter(**
> ApplicationFilterChain.java:**210)
>     at org.apache.catalina.filters.**SetCharacterEncodingFilter.**
> doFilter(**SetCharacterEncodingFilter.**java:108)
>     at org.apache.catalina.core.**ApplicationFilterChain.**
> internalDoFilter(**ApplicationFilterChain.java:**243)
>     at org.apache.catalina.core.**ApplicationFilterChain.**doFilter(**
> ApplicationFilterChain.java:**210)
>     at org.apache.catalina.core.**StandardWrapperValve.invoke(**
> StandardWrapperValve.java:225)
>     at org.apache.catalina.core.**StandardContextValve.invoke(**
> StandardContextValve.java:169)
>     at org.apache.tomee.catalina.**OpenEJBValve.invoke(**
> OpenEJBValve.java:44)
>     at org.apache.catalina.**authenticator.**AuthenticatorBase.invoke(**
> AuthenticatorBase.java:581)
>     at org.apache.catalina.core.**StandardHostValve.invoke(**
> StandardHostValve.java:168)
>     at org.apache.catalina.valves.**ErrorReportValve.invoke(**
> ErrorReportValve.java:98)
>     at org.apache.catalina.valves.**AccessLogValve.invoke(**
> AccessLogValve.java:927)
>     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:**999)
>     at org.apache.coyote.**AbstractProtocol$**AbstractConnectionHandler.**
> process(AbstractProtocol.java:**565)
>     at org.apache.tomcat.util.net.**JIoEndpoint$SocketProcessor.**
> run(JIoEndpoint.java:309)
>     at java.util.concurrent.**ThreadPoolExecutor.runWorker(**
> ThreadPoolExecutor.java:1110)
>     at java.util.concurrent.**ThreadPoolExecutor$Worker.run(**
> ThreadPoolExecutor.java:603)
>     at java.lang.Thread.run(Thread.**java:722)
>
>
>
> On 7/8/2012 4:32 PM, Romain Manni-Bucau wrote:
>
>> i don't think so,
>>
>> can you try moving your code in a unit test to see if it still happen?
>>
>> - Romain
>>
>>
>> 2012/7/8 David Nordahl<da...@thinkology.org>
>>
>>  Could it be the Tomcat JDBCRealm I have enforcing container managed
>>> security from user data in the same table?
>>>
>>>
>>> On 7/8/2012 4:14 PM, Romain Manni-Bucau wrote:
>>>
>>>  i can't say no but i'm pretty sure it is something in the container
>>>> rather
>>>> in the DB.
>>>>
>>>> - Romain
>>>>
>>>>
>>>> 2012/7/8 David Nordahl<da...@thinkology.org>
>>>>
>>>>   Maybe the DB settings could have something to do with it? I'm using
>>>> MySQL
>>>>
>>>>> with it's default setup which uses InnoDB.  I notice in the
>>>>> documentation
>>>>> that "InnoDB, with innodb_flush_log_at_trx_commit set to 1, flushes the
>>>>> transaction log after each transaction, greatly improving reliability."
>>>>>
>>>>> Could some DB setting like this be causing the issue?
>>>>>
>>>>>
>>>>>
>>>>> On 7/8/2012 3:39 PM, Romain Manni-Bucau wrote:
>>>>>
>>>>>   can you share a small sample to reproduce it, will be easier to help
>>>>>
>>>>>> you?
>>>>>>
>>>>>> - Romain
>>>>>>
>>>>>>
>>>>>> 2012/7/8 David Nordahl<da...@thinkology.org>
>>>>>>
>>>>>>    Not that I've configured.. Unless one of the annotations creates
>>>>>> one:
>>>>>>
>>>>>>  @Entity
>>>>>>> @Table(name = "user")
>>>>>>> @XmlRootElement
>>>>>>> @NamedQueries({
>>>>>>>        @NamedQuery(name = "User.findAll", query = "SELECT u FROM User
>>>>>>> u"),
>>>>>>>        @NamedQuery(name = "User.findByUserId", query = "SELECT u FROM
>>>>>>> User
>>>>>>> u
>>>>>>> WHERE u.userId = :userId"),
>>>>>>>        @NamedQuery(name = "User.findByUserName", query = "SELECT u
>>>>>>> FROM
>>>>>>> User
>>>>>>> u WHERE u.userName = :userName"),
>>>>>>>        @NamedQuery(name = "User.findByPassword", query = "SELECT u
>>>>>>> FROM
>>>>>>> User
>>>>>>> u WHERE u.password = :password"),
>>>>>>>        @NamedQuery(name = "User.findByEmail", query = "SELECT u FROM
>>>>>>> User u
>>>>>>> WHERE u.email = :email"),
>>>>>>>        @NamedQuery(name = "User.findByFirstName", query = "SELECT u
>>>>>>> FROM
>>>>>>> User
>>>>>>> u WHERE u.firstName = :firstName"),
>>>>>>>        @NamedQuery(name = "User.findByLastName", query = "SELECT u
>>>>>>> FROM
>>>>>>> User
>>>>>>> u WHERE u.lastName = :lastName"),
>>>>>>>        @NamedQuery(name = "User.findByLoginFailures", query =
>>>>>>> "SELECT u
>>>>>>> FROM
>>>>>>> User u WHERE u.loginFailures = :loginFailures"),
>>>>>>>        @NamedQuery(name = "User.findByLastLoginFailure", query =
>>>>>>> "SELECT u
>>>>>>> FROM User u WHERE u.lastLoginFailure = :lastLoginFailure")})
>>>>>>> public class User implements Serializable {
>>>>>>>        private static final long serialVersionUID = 1L;
>>>>>>>        @Id
>>>>>>>        @GeneratedValue(strategy = GenerationType.IDENTITY)
>>>>>>>        @Basic(optional = false)
>>>>>>>        @Column(name = "user_id")
>>>>>>>        private Integer userId;
>>>>>>>        @Basic(optional = false)
>>>>>>>        @Column(name = "user_name")
>>>>>>>        private String userName;
>>>>>>>        @Basic(optional = false)
>>>>>>>        @Column(name = "password")
>>>>>>>        private String password;
>>>>>>>        @Column(name = "email")
>>>>>>>        private String email;
>>>>>>>        @Column(name = "first_name")
>>>>>>>        private String firstName;
>>>>>>>        @Column(name = "last_name")
>>>>>>>        private String lastName;
>>>>>>>        @Column(name = "login_failures")
>>>>>>>        private Integer loginFailures;
>>>>>>>        @Column(name = "last_login_failure")
>>>>>>>        @Temporal(TemporalType.********TIMESTAMP)
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>        private Date lastLoginFailure;
>>>>>>>        @JoinColumn(name = "associated_customer",
>>>>>>> referencedColumnName =
>>>>>>> "customer_id")
>>>>>>>        @ManyToOne
>>>>>>>
>>>>>>>
>>>>>>> On 7/8/2012 3:25 PM, Romain Manni-Bucau wrote:
>>>>>>>
>>>>>>>    Hi,
>>>>>>>
>>>>>>>  any entity listener playing with id or special field on User entity?
>>>>>>>>
>>>>>>>> - Romain
>>>>>>>>
>>>>>>>>
>>>>>>>> 2012/7/8 David Nordahl<da...@thinkology.org>
>>>>>>>>
>>>>>>>>     I'm attempting the code:
>>>>>>>>
>>>>>>>>   Properties properties = new Properties();
>>>>>>>>
>>>>>>>>> properties.setProperty(**********Context.INITIAL_CONTEXT_*******
>>>>>>>>> ***
>>>>>>>>> FACTORY,
>>>>>>>>> "org.apache.openejb.client.************
>>>>>>>>> LocalInitialContextFactory"**)**;
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> InitialContext initialContext = new InitialContext(properties);
>>>>>>>>> Object object = initialContext.lookup("*********
>>>>>>>>> *UserFacadeLocal");
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> UserFacadeLocal userFacade = (UserFacadeLocal) object;
>>>>>>>>> User newuser = new User();
>>>>>>>>> newuser.setEmail("cow@cow.moo"**********);
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> newuser.setUserName("steve");
>>>>>>>>> newuser.setPassword("cows");
>>>>>>>>> userFacade.create(newuser);
>>>>>>>>>
>>>>>>>>> but keep getting "org.apache.openjpa.**********persistence.****
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> InvalidStateException:
>>>>>>>>>
>>>>>>>>> Detected reentrant flush.  Make sure your flush-time instance
>>>>>>>>> callback
>>>>>>>>> methods or event listeners do not invoke any operations that
>>>>>>>>> require
>>>>>>>>> the
>>>>>>>>> in-progress flush to complete."
>>>>>>>>>
>>>>>>>>> I tried setting "openjpa.FlushBeforeQueries" to false just to see
>>>>>>>>> if
>>>>>>>>> I
>>>>>>>>> can
>>>>>>>>> get the error to go away, but it makes no difference.  I can't
>>>>>>>>> find a
>>>>>>>>> flush() call in my project and according to the table in the docs,
>>>>>>>>> flush
>>>>>>>>> is
>>>>>>>>> not called if this parameter is set.  What am I not doing correctly
>>>>>>>>> here?
>>>>>>>>>
>>>>>>>>> Thank you,
>>>>>>>>> David
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>

Re: Detected Reentrant Flush

Posted by David Nordahl <da...@thinkology.org>.
Btw.. Is it normal to have these exceptions on startup?  I saw another 
post saying they were, but I thought I might double check.  I seem to be 
able to query through open EJB, but not update and add.  I'm also 
wondering if there is anyway that the reentrant flush error is covering 
up another error.  I guess I can start working on a test case.. I wish I 
could just find a netbeans JSP2.0/EJB/TomEE sample project where 
everything was already setup correctly.

SEVERE: Error in safeBind method
javax.naming.NameNotFoundException: Name [openejb] is not bound in this 
Context. Unable to find [openejb].
     at org.apache.naming.NamingContext.lookup(NamingContext.java:820)
     at org.apache.naming.NamingContext.lookup(NamingContext.java:168)
     at 
org.apache.tomee.catalina.TomcatWebAppBuilder.safeBind(TomcatWebAppBuilder.java:1196)
     at 
org.apache.tomee.catalina.TomcatWebAppBuilder.afterStart(TomcatWebAppBuilder.java:776)
     at 
org.apache.tomee.catalina.GlobalListenerSupport.lifecycleEvent(GlobalListenerSupport.java:103)
     at 
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
     at 
org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
     at 
org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:401)
     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:168)
     at 
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:895)
     at 
org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:871)
     at 
org.apache.catalina.core.StandardHost.addChild(StandardHost.java:615)
     at 
org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:649)
     at 
org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:530)
     at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1471)
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
     at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
     at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
     at java.lang.reflect.Method.invoke(Method.java:601)
     at 
org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:301)
     at 
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)
     at 
com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:791)
     at 
org.apache.catalina.manager.ManagerServlet.check(ManagerServlet.java:1436)
     at 
org.apache.catalina.manager.ManagerServlet.deploy(ManagerServlet.java:856)
     at 
org.apache.catalina.manager.ManagerServlet.doGet(ManagerServlet.java:353)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
     at 
org.apache.catalina.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:108)
     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
     at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225)
     at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
     at org.apache.tomee.catalina.OpenEJBValve.invoke(OpenEJBValve.java:44)
     at 
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:581)
     at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
     at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
     at 
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
     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:999)
     at 
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:565)
     at 
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:309)
     at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
     at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
     at java.lang.Thread.run(Thread.java:722)

Jul 08, 2012 4:40:06 PM org.apache.tomee.catalina.TomcatWebAppBuilder 
safeBind
INFO: TransactionManager already bound, ignoring
Jul 08, 2012 4:40:06 PM org.apache.tomee.catalina.TomcatWebAppBuilder 
safeBind
INFO: TransactionSynchronizationRegistry already bound, ignoring
Jul 08, 2012 4:40:06 PM org.apache.tomee.catalina.TomcatWebAppBuilder 
safeBind
SEVERE: Error in safeBind method
javax.naming.NameNotFoundException: No ORB registered with the OpenEJB 
system
     at 
org.apache.openejb.core.ivm.naming.SystemComponentReference.getObject(SystemComponentReference.java:38)
     at 
org.apache.openejb.core.ivm.naming.Reference.getContent(Reference.java:40)
     at 
org.apache.xbean.naming.reference.SimpleReference$SimpleObjectFactory.getObjectInstance(SimpleReference.java:137)
     at 
javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:321)
     at org.apache.naming.NamingContext.lookup(NamingContext.java:843)
     at org.apache.naming.NamingContext.lookup(NamingContext.java:168)
     at 
org.apache.tomee.catalina.TomcatWebAppBuilder.safeBind(TomcatWebAppBuilder.java:1196)
     at 
org.apache.tomee.catalina.TomcatWebAppBuilder.afterStart(TomcatWebAppBuilder.java:806)
     at 
org.apache.tomee.catalina.GlobalListenerSupport.lifecycleEvent(GlobalListenerSupport.java:103)
     at 
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
     at 
org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
     at 
org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:401)
     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:168)
     at 
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:895)
     at 
org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:871)
     at 
org.apache.catalina.core.StandardHost.addChild(StandardHost.java:615)
     at 
org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:649)
     at 
org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:530)
     at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1471)
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
     at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
     at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
     at java.lang.reflect.Method.invoke(Method.java:601)
     at 
org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:301)
     at 
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)
     at 
com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:791)
     at 
org.apache.catalina.manager.ManagerServlet.check(ManagerServlet.java:1436)
     at 
org.apache.catalina.manager.ManagerServlet.deploy(ManagerServlet.java:856)
     at 
org.apache.catalina.manager.ManagerServlet.doGet(ManagerServlet.java:353)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
     at 
org.apache.catalina.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:108)
     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
     at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225)
     at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
     at org.apache.tomee.catalina.OpenEJBValve.invoke(OpenEJBValve.java:44)
     at 
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:581)
     at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
     at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
     at 
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
     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:999)
     at 
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:565)
     at 
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:309)
     at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
     at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
     at java.lang.Thread.run(Thread.java:722)

Jul 08, 2012 4:40:43 PM org.apache.tomee.catalina.TomcatWebAppBuilder 
safeBind
SEVERE: Error in safeBind method
javax.naming.NameNotFoundException: No HandleDelegate registered with 
the OpenEJB system
     at 
org.apache.openejb.core.ivm.naming.SystemComponentReference.getObject(SystemComponentReference.java:38)
     at 
org.apache.openejb.core.ivm.naming.Reference.getContent(Reference.java:40)
     at 
org.apache.xbean.naming.reference.SimpleReference$SimpleObjectFactory.getObjectInstance(SimpleReference.java:137)
     at 
javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:321)
     at org.apache.naming.NamingContext.lookup(NamingContext.java:843)
     at org.apache.naming.NamingContext.lookup(NamingContext.java:168)
     at 
org.apache.tomee.catalina.TomcatWebAppBuilder.safeBind(TomcatWebAppBuilder.java:1196)
     at 
org.apache.tomee.catalina.TomcatWebAppBuilder.afterStart(TomcatWebAppBuilder.java:807)
     at 
org.apache.tomee.catalina.GlobalListenerSupport.lifecycleEvent(GlobalListenerSupport.java:103)
     at 
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
     at 
org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
     at 
org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:401)
     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:168)
     at 
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:895)
     at 
org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:871)
     at 
org.apache.catalina.core.StandardHost.addChild(StandardHost.java:615)
     at 
org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:649)
     at 
org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:530)
     at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1471)
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
     at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
     at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
     at java.lang.reflect.Method.invoke(Method.java:601)
     at 
org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:301)
     at 
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)
     at 
com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:791)
     at 
org.apache.catalina.manager.ManagerServlet.check(ManagerServlet.java:1436)
     at 
org.apache.catalina.manager.ManagerServlet.deploy(ManagerServlet.java:856)
     at 
org.apache.catalina.manager.ManagerServlet.doGet(ManagerServlet.java:353)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
     at 
org.apache.catalina.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:108)
     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
     at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225)
     at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
     at org.apache.tomee.catalina.OpenEJBValve.invoke(OpenEJBValve.java:44)
     at 
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:581)
     at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
     at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
     at 
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
     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:999)
     at 
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:565)
     at 
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:309)
     at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
     at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
     at java.lang.Thread.run(Thread.java:722)


On 7/8/2012 4:32 PM, Romain Manni-Bucau wrote:
> i don't think so,
>
> can you try moving your code in a unit test to see if it still happen?
>
> - Romain
>
>
> 2012/7/8 David Nordahl<da...@thinkology.org>
>
>> Could it be the Tomcat JDBCRealm I have enforcing container managed
>> security from user data in the same table?
>>
>>
>> On 7/8/2012 4:14 PM, Romain Manni-Bucau wrote:
>>
>>> i can't say no but i'm pretty sure it is something in the container rather
>>> in the DB.
>>>
>>> - Romain
>>>
>>>
>>> 2012/7/8 David Nordahl<da...@thinkology.org>
>>>
>>>   Maybe the DB settings could have something to do with it? I'm using MySQL
>>>> with it's default setup which uses InnoDB.  I notice in the documentation
>>>> that "InnoDB, with innodb_flush_log_at_trx_commit set to 1, flushes the
>>>> transaction log after each transaction, greatly improving reliability."
>>>>
>>>> Could some DB setting like this be causing the issue?
>>>>
>>>>
>>>>
>>>> On 7/8/2012 3:39 PM, Romain Manni-Bucau wrote:
>>>>
>>>>   can you share a small sample to reproduce it, will be easier to help
>>>>> you?
>>>>>
>>>>> - Romain
>>>>>
>>>>>
>>>>> 2012/7/8 David Nordahl<da...@thinkology.org>
>>>>>
>>>>>    Not that I've configured.. Unless one of the annotations creates one:
>>>>>
>>>>>> @Entity
>>>>>> @Table(name = "user")
>>>>>> @XmlRootElement
>>>>>> @NamedQueries({
>>>>>>        @NamedQuery(name = "User.findAll", query = "SELECT u FROM User
>>>>>> u"),
>>>>>>        @NamedQuery(name = "User.findByUserId", query = "SELECT u FROM
>>>>>> User
>>>>>> u
>>>>>> WHERE u.userId = :userId"),
>>>>>>        @NamedQuery(name = "User.findByUserName", query = "SELECT u FROM
>>>>>> User
>>>>>> u WHERE u.userName = :userName"),
>>>>>>        @NamedQuery(name = "User.findByPassword", query = "SELECT u FROM
>>>>>> User
>>>>>> u WHERE u.password = :password"),
>>>>>>        @NamedQuery(name = "User.findByEmail", query = "SELECT u FROM
>>>>>> User u
>>>>>> WHERE u.email = :email"),
>>>>>>        @NamedQuery(name = "User.findByFirstName", query = "SELECT u FROM
>>>>>> User
>>>>>> u WHERE u.firstName = :firstName"),
>>>>>>        @NamedQuery(name = "User.findByLastName", query = "SELECT u FROM
>>>>>> User
>>>>>> u WHERE u.lastName = :lastName"),
>>>>>>        @NamedQuery(name = "User.findByLoginFailures", query = "SELECT u
>>>>>> FROM
>>>>>> User u WHERE u.loginFailures = :loginFailures"),
>>>>>>        @NamedQuery(name = "User.findByLastLoginFailure", query =
>>>>>> "SELECT u
>>>>>> FROM User u WHERE u.lastLoginFailure = :lastLoginFailure")})
>>>>>> public class User implements Serializable {
>>>>>>        private static final long serialVersionUID = 1L;
>>>>>>        @Id
>>>>>>        @GeneratedValue(strategy = GenerationType.IDENTITY)
>>>>>>        @Basic(optional = false)
>>>>>>        @Column(name = "user_id")
>>>>>>        private Integer userId;
>>>>>>        @Basic(optional = false)
>>>>>>        @Column(name = "user_name")
>>>>>>        private String userName;
>>>>>>        @Basic(optional = false)
>>>>>>        @Column(name = "password")
>>>>>>        private String password;
>>>>>>        @Column(name = "email")
>>>>>>        private String email;
>>>>>>        @Column(name = "first_name")
>>>>>>        private String firstName;
>>>>>>        @Column(name = "last_name")
>>>>>>        private String lastName;
>>>>>>        @Column(name = "login_failures")
>>>>>>        private Integer loginFailures;
>>>>>>        @Column(name = "last_login_failure")
>>>>>>        @Temporal(TemporalType.******TIMESTAMP)
>>>>>>
>>>>>>
>>>>>>        private Date lastLoginFailure;
>>>>>>        @JoinColumn(name = "associated_customer", referencedColumnName =
>>>>>> "customer_id")
>>>>>>        @ManyToOne
>>>>>>
>>>>>>
>>>>>> On 7/8/2012 3:25 PM, Romain Manni-Bucau wrote:
>>>>>>
>>>>>>    Hi,
>>>>>>
>>>>>>> any entity listener playing with id or special field on User entity?
>>>>>>>
>>>>>>> - Romain
>>>>>>>
>>>>>>>
>>>>>>> 2012/7/8 David Nordahl<da...@thinkology.org>
>>>>>>>
>>>>>>>     I'm attempting the code:
>>>>>>>
>>>>>>>   Properties properties = new Properties();
>>>>>>>> properties.setProperty(********Context.INITIAL_CONTEXT_********
>>>>>>>> FACTORY,
>>>>>>>> "org.apache.openejb.client.********LocalInitialContextFactory"**);
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> InitialContext initialContext = new InitialContext(properties);
>>>>>>>> Object object = initialContext.lookup("********UserFacadeLocal");
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> UserFacadeLocal userFacade = (UserFacadeLocal) object;
>>>>>>>> User newuser = new User();
>>>>>>>> newuser.setEmail("cow@cow.moo"********);
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> newuser.setUserName("steve");
>>>>>>>> newuser.setPassword("cows");
>>>>>>>> userFacade.create(newuser);
>>>>>>>>
>>>>>>>> but keep getting "org.apache.openjpa.********persistence.****
>>>>>>>>
>>>>>>>>
>>>>>>>> InvalidStateException:
>>>>>>>>
>>>>>>>> Detected reentrant flush.  Make sure your flush-time instance
>>>>>>>> callback
>>>>>>>> methods or event listeners do not invoke any operations that require
>>>>>>>> the
>>>>>>>> in-progress flush to complete."
>>>>>>>>
>>>>>>>> I tried setting "openjpa.FlushBeforeQueries" to false just to see if
>>>>>>>> I
>>>>>>>> can
>>>>>>>> get the error to go away, but it makes no difference.  I can't find a
>>>>>>>> flush() call in my project and according to the table in the docs,
>>>>>>>> flush
>>>>>>>> is
>>>>>>>> not called if this parameter is set.  What am I not doing correctly
>>>>>>>> here?
>>>>>>>>
>>>>>>>> Thank you,
>>>>>>>> David
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>

Re: Detected Reentrant Flush

Posted by Romain Manni-Bucau <rm...@gmail.com>.
i don't think so,

can you try moving your code in a unit test to see if it still happen?

- Romain


2012/7/8 David Nordahl <da...@thinkology.org>

> Could it be the Tomcat JDBCRealm I have enforcing container managed
> security from user data in the same table?
>
>
> On 7/8/2012 4:14 PM, Romain Manni-Bucau wrote:
>
>> i can't say no but i'm pretty sure it is something in the container rather
>> in the DB.
>>
>> - Romain
>>
>>
>> 2012/7/8 David Nordahl<da...@thinkology.org>
>>
>>  Maybe the DB settings could have something to do with it? I'm using MySQL
>>> with it's default setup which uses InnoDB.  I notice in the documentation
>>> that "InnoDB, with innodb_flush_log_at_trx_commit set to 1, flushes the
>>> transaction log after each transaction, greatly improving reliability."
>>>
>>> Could some DB setting like this be causing the issue?
>>>
>>>
>>>
>>> On 7/8/2012 3:39 PM, Romain Manni-Bucau wrote:
>>>
>>>  can you share a small sample to reproduce it, will be easier to help
>>>> you?
>>>>
>>>> - Romain
>>>>
>>>>
>>>> 2012/7/8 David Nordahl<da...@thinkology.org>
>>>>
>>>>   Not that I've configured.. Unless one of the annotations creates one:
>>>>
>>>>> @Entity
>>>>> @Table(name = "user")
>>>>> @XmlRootElement
>>>>> @NamedQueries({
>>>>>       @NamedQuery(name = "User.findAll", query = "SELECT u FROM User
>>>>> u"),
>>>>>       @NamedQuery(name = "User.findByUserId", query = "SELECT u FROM
>>>>> User
>>>>> u
>>>>> WHERE u.userId = :userId"),
>>>>>       @NamedQuery(name = "User.findByUserName", query = "SELECT u FROM
>>>>> User
>>>>> u WHERE u.userName = :userName"),
>>>>>       @NamedQuery(name = "User.findByPassword", query = "SELECT u FROM
>>>>> User
>>>>> u WHERE u.password = :password"),
>>>>>       @NamedQuery(name = "User.findByEmail", query = "SELECT u FROM
>>>>> User u
>>>>> WHERE u.email = :email"),
>>>>>       @NamedQuery(name = "User.findByFirstName", query = "SELECT u FROM
>>>>> User
>>>>> u WHERE u.firstName = :firstName"),
>>>>>       @NamedQuery(name = "User.findByLastName", query = "SELECT u FROM
>>>>> User
>>>>> u WHERE u.lastName = :lastName"),
>>>>>       @NamedQuery(name = "User.findByLoginFailures", query = "SELECT u
>>>>> FROM
>>>>> User u WHERE u.loginFailures = :loginFailures"),
>>>>>       @NamedQuery(name = "User.findByLastLoginFailure", query =
>>>>> "SELECT u
>>>>> FROM User u WHERE u.lastLoginFailure = :lastLoginFailure")})
>>>>> public class User implements Serializable {
>>>>>       private static final long serialVersionUID = 1L;
>>>>>       @Id
>>>>>       @GeneratedValue(strategy = GenerationType.IDENTITY)
>>>>>       @Basic(optional = false)
>>>>>       @Column(name = "user_id")
>>>>>       private Integer userId;
>>>>>       @Basic(optional = false)
>>>>>       @Column(name = "user_name")
>>>>>       private String userName;
>>>>>       @Basic(optional = false)
>>>>>       @Column(name = "password")
>>>>>       private String password;
>>>>>       @Column(name = "email")
>>>>>       private String email;
>>>>>       @Column(name = "first_name")
>>>>>       private String firstName;
>>>>>       @Column(name = "last_name")
>>>>>       private String lastName;
>>>>>       @Column(name = "login_failures")
>>>>>       private Integer loginFailures;
>>>>>       @Column(name = "last_login_failure")
>>>>>       @Temporal(TemporalType.******TIMESTAMP)
>>>>>
>>>>>
>>>>>       private Date lastLoginFailure;
>>>>>       @JoinColumn(name = "associated_customer", referencedColumnName =
>>>>> "customer_id")
>>>>>       @ManyToOne
>>>>>
>>>>>
>>>>> On 7/8/2012 3:25 PM, Romain Manni-Bucau wrote:
>>>>>
>>>>>   Hi,
>>>>>
>>>>>> any entity listener playing with id or special field on User entity?
>>>>>>
>>>>>> - Romain
>>>>>>
>>>>>>
>>>>>> 2012/7/8 David Nordahl<da...@thinkology.org>
>>>>>>
>>>>>>    I'm attempting the code:
>>>>>>
>>>>>>  Properties properties = new Properties();
>>>>>>> properties.setProperty(********Context.INITIAL_CONTEXT_********
>>>>>>> FACTORY,
>>>>>>> "org.apache.openejb.client.********LocalInitialContextFactory"**);
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> InitialContext initialContext = new InitialContext(properties);
>>>>>>> Object object = initialContext.lookup("********UserFacadeLocal");
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> UserFacadeLocal userFacade = (UserFacadeLocal) object;
>>>>>>> User newuser = new User();
>>>>>>> newuser.setEmail("cow@cow.moo"********);
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> newuser.setUserName("steve");
>>>>>>> newuser.setPassword("cows");
>>>>>>> userFacade.create(newuser);
>>>>>>>
>>>>>>> but keep getting "org.apache.openjpa.********persistence.****
>>>>>>>
>>>>>>>
>>>>>>> InvalidStateException:
>>>>>>>
>>>>>>> Detected reentrant flush.  Make sure your flush-time instance
>>>>>>> callback
>>>>>>> methods or event listeners do not invoke any operations that require
>>>>>>> the
>>>>>>> in-progress flush to complete."
>>>>>>>
>>>>>>> I tried setting "openjpa.FlushBeforeQueries" to false just to see if
>>>>>>> I
>>>>>>> can
>>>>>>> get the error to go away, but it makes no difference.  I can't find a
>>>>>>> flush() call in my project and according to the table in the docs,
>>>>>>> flush
>>>>>>> is
>>>>>>> not called if this parameter is set.  What am I not doing correctly
>>>>>>> here?
>>>>>>>
>>>>>>> Thank you,
>>>>>>> David
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>

Re: Detected Reentrant Flush

Posted by David Nordahl <da...@thinkology.org>.
Could it be the Tomcat JDBCRealm I have enforcing container managed 
security from user data in the same table?

On 7/8/2012 4:14 PM, Romain Manni-Bucau wrote:
> i can't say no but i'm pretty sure it is something in the container rather
> in the DB.
>
> - Romain
>
>
> 2012/7/8 David Nordahl<da...@thinkology.org>
>
>> Maybe the DB settings could have something to do with it? I'm using MySQL
>> with it's default setup which uses InnoDB.  I notice in the documentation
>> that "InnoDB, with innodb_flush_log_at_trx_commit set to 1, flushes the
>> transaction log after each transaction, greatly improving reliability."
>>
>> Could some DB setting like this be causing the issue?
>>
>>
>>
>> On 7/8/2012 3:39 PM, Romain Manni-Bucau wrote:
>>
>>> can you share a small sample to reproduce it, will be easier to help you?
>>>
>>> - Romain
>>>
>>>
>>> 2012/7/8 David Nordahl<da...@thinkology.org>
>>>
>>>   Not that I've configured.. Unless one of the annotations creates one:
>>>> @Entity
>>>> @Table(name = "user")
>>>> @XmlRootElement
>>>> @NamedQueries({
>>>>       @NamedQuery(name = "User.findAll", query = "SELECT u FROM User u"),
>>>>       @NamedQuery(name = "User.findByUserId", query = "SELECT u FROM User
>>>> u
>>>> WHERE u.userId = :userId"),
>>>>       @NamedQuery(name = "User.findByUserName", query = "SELECT u FROM
>>>> User
>>>> u WHERE u.userName = :userName"),
>>>>       @NamedQuery(name = "User.findByPassword", query = "SELECT u FROM
>>>> User
>>>> u WHERE u.password = :password"),
>>>>       @NamedQuery(name = "User.findByEmail", query = "SELECT u FROM User u
>>>> WHERE u.email = :email"),
>>>>       @NamedQuery(name = "User.findByFirstName", query = "SELECT u FROM
>>>> User
>>>> u WHERE u.firstName = :firstName"),
>>>>       @NamedQuery(name = "User.findByLastName", query = "SELECT u FROM
>>>> User
>>>> u WHERE u.lastName = :lastName"),
>>>>       @NamedQuery(name = "User.findByLoginFailures", query = "SELECT u
>>>> FROM
>>>> User u WHERE u.loginFailures = :loginFailures"),
>>>>       @NamedQuery(name = "User.findByLastLoginFailure", query = "SELECT u
>>>> FROM User u WHERE u.lastLoginFailure = :lastLoginFailure")})
>>>> public class User implements Serializable {
>>>>       private static final long serialVersionUID = 1L;
>>>>       @Id
>>>>       @GeneratedValue(strategy = GenerationType.IDENTITY)
>>>>       @Basic(optional = false)
>>>>       @Column(name = "user_id")
>>>>       private Integer userId;
>>>>       @Basic(optional = false)
>>>>       @Column(name = "user_name")
>>>>       private String userName;
>>>>       @Basic(optional = false)
>>>>       @Column(name = "password")
>>>>       private String password;
>>>>       @Column(name = "email")
>>>>       private String email;
>>>>       @Column(name = "first_name")
>>>>       private String firstName;
>>>>       @Column(name = "last_name")
>>>>       private String lastName;
>>>>       @Column(name = "login_failures")
>>>>       private Integer loginFailures;
>>>>       @Column(name = "last_login_failure")
>>>>       @Temporal(TemporalType.****TIMESTAMP)
>>>>
>>>>       private Date lastLoginFailure;
>>>>       @JoinColumn(name = "associated_customer", referencedColumnName =
>>>> "customer_id")
>>>>       @ManyToOne
>>>>
>>>>
>>>> On 7/8/2012 3:25 PM, Romain Manni-Bucau wrote:
>>>>
>>>>   Hi,
>>>>> any entity listener playing with id or special field on User entity?
>>>>>
>>>>> - Romain
>>>>>
>>>>>
>>>>> 2012/7/8 David Nordahl<da...@thinkology.org>
>>>>>
>>>>>    I'm attempting the code:
>>>>>
>>>>>> Properties properties = new Properties();
>>>>>> properties.setProperty(******Context.INITIAL_CONTEXT_******FACTORY,
>>>>>> "org.apache.openejb.client.******LocalInitialContextFactory");
>>>>>>
>>>>>>
>>>>>> InitialContext initialContext = new InitialContext(properties);
>>>>>> Object object = initialContext.lookup("******UserFacadeLocal");
>>>>>>
>>>>>>
>>>>>> UserFacadeLocal userFacade = (UserFacadeLocal) object;
>>>>>> User newuser = new User();
>>>>>> newuser.setEmail("cow@cow.moo"******);
>>>>>>
>>>>>>
>>>>>> newuser.setUserName("steve");
>>>>>> newuser.setPassword("cows");
>>>>>> userFacade.create(newuser);
>>>>>>
>>>>>> but keep getting "org.apache.openjpa.******persistence.****
>>>>>>
>>>>>> InvalidStateException:
>>>>>>
>>>>>> Detected reentrant flush.  Make sure your flush-time instance callback
>>>>>> methods or event listeners do not invoke any operations that require
>>>>>> the
>>>>>> in-progress flush to complete."
>>>>>>
>>>>>> I tried setting "openjpa.FlushBeforeQueries" to false just to see if I
>>>>>> can
>>>>>> get the error to go away, but it makes no difference.  I can't find a
>>>>>> flush() call in my project and according to the table in the docs,
>>>>>> flush
>>>>>> is
>>>>>> not called if this parameter is set.  What am I not doing correctly
>>>>>> here?
>>>>>>
>>>>>> Thank you,
>>>>>> David
>>>>>>
>>>>>>
>>>>>>

Re: Detected Reentrant Flush

Posted by Romain Manni-Bucau <rm...@gmail.com>.
i can't say no but i'm pretty sure it is something in the container rather
in the DB.

- Romain


2012/7/8 David Nordahl <da...@thinkology.org>

> Maybe the DB settings could have something to do with it? I'm using MySQL
> with it's default setup which uses InnoDB.  I notice in the documentation
> that "InnoDB, with innodb_flush_log_at_trx_commit set to 1, flushes the
> transaction log after each transaction, greatly improving reliability."
>
> Could some DB setting like this be causing the issue?
>
>
>
> On 7/8/2012 3:39 PM, Romain Manni-Bucau wrote:
>
>> can you share a small sample to reproduce it, will be easier to help you?
>>
>> - Romain
>>
>>
>> 2012/7/8 David Nordahl<da...@thinkology.org>
>>
>>  Not that I've configured.. Unless one of the annotations creates one:
>>>
>>> @Entity
>>> @Table(name = "user")
>>> @XmlRootElement
>>> @NamedQueries({
>>>      @NamedQuery(name = "User.findAll", query = "SELECT u FROM User u"),
>>>      @NamedQuery(name = "User.findByUserId", query = "SELECT u FROM User
>>> u
>>> WHERE u.userId = :userId"),
>>>      @NamedQuery(name = "User.findByUserName", query = "SELECT u FROM
>>> User
>>> u WHERE u.userName = :userName"),
>>>      @NamedQuery(name = "User.findByPassword", query = "SELECT u FROM
>>> User
>>> u WHERE u.password = :password"),
>>>      @NamedQuery(name = "User.findByEmail", query = "SELECT u FROM User u
>>> WHERE u.email = :email"),
>>>      @NamedQuery(name = "User.findByFirstName", query = "SELECT u FROM
>>> User
>>> u WHERE u.firstName = :firstName"),
>>>      @NamedQuery(name = "User.findByLastName", query = "SELECT u FROM
>>> User
>>> u WHERE u.lastName = :lastName"),
>>>      @NamedQuery(name = "User.findByLoginFailures", query = "SELECT u
>>> FROM
>>> User u WHERE u.loginFailures = :loginFailures"),
>>>      @NamedQuery(name = "User.findByLastLoginFailure", query = "SELECT u
>>> FROM User u WHERE u.lastLoginFailure = :lastLoginFailure")})
>>> public class User implements Serializable {
>>>      private static final long serialVersionUID = 1L;
>>>      @Id
>>>      @GeneratedValue(strategy = GenerationType.IDENTITY)
>>>      @Basic(optional = false)
>>>      @Column(name = "user_id")
>>>      private Integer userId;
>>>      @Basic(optional = false)
>>>      @Column(name = "user_name")
>>>      private String userName;
>>>      @Basic(optional = false)
>>>      @Column(name = "password")
>>>      private String password;
>>>      @Column(name = "email")
>>>      private String email;
>>>      @Column(name = "first_name")
>>>      private String firstName;
>>>      @Column(name = "last_name")
>>>      private String lastName;
>>>      @Column(name = "login_failures")
>>>      private Integer loginFailures;
>>>      @Column(name = "last_login_failure")
>>>      @Temporal(TemporalType.****TIMESTAMP)
>>>
>>>      private Date lastLoginFailure;
>>>      @JoinColumn(name = "associated_customer", referencedColumnName =
>>> "customer_id")
>>>      @ManyToOne
>>>
>>>
>>> On 7/8/2012 3:25 PM, Romain Manni-Bucau wrote:
>>>
>>>  Hi,
>>>>
>>>> any entity listener playing with id or special field on User entity?
>>>>
>>>> - Romain
>>>>
>>>>
>>>> 2012/7/8 David Nordahl<da...@thinkology.org>
>>>>
>>>>   I'm attempting the code:
>>>>
>>>>> Properties properties = new Properties();
>>>>> properties.setProperty(******Context.INITIAL_CONTEXT_******FACTORY,
>>>>> "org.apache.openejb.client.******LocalInitialContextFactory");
>>>>>
>>>>>
>>>>> InitialContext initialContext = new InitialContext(properties);
>>>>> Object object = initialContext.lookup("******UserFacadeLocal");
>>>>>
>>>>>
>>>>> UserFacadeLocal userFacade = (UserFacadeLocal) object;
>>>>> User newuser = new User();
>>>>> newuser.setEmail("cow@cow.moo"******);
>>>>>
>>>>>
>>>>> newuser.setUserName("steve");
>>>>> newuser.setPassword("cows");
>>>>> userFacade.create(newuser);
>>>>>
>>>>> but keep getting "org.apache.openjpa.******persistence.****
>>>>>
>>>>> InvalidStateException:
>>>>>
>>>>> Detected reentrant flush.  Make sure your flush-time instance callback
>>>>> methods or event listeners do not invoke any operations that require
>>>>> the
>>>>> in-progress flush to complete."
>>>>>
>>>>> I tried setting "openjpa.FlushBeforeQueries" to false just to see if I
>>>>> can
>>>>> get the error to go away, but it makes no difference.  I can't find a
>>>>> flush() call in my project and according to the table in the docs,
>>>>> flush
>>>>> is
>>>>> not called if this parameter is set.  What am I not doing correctly
>>>>> here?
>>>>>
>>>>> Thank you,
>>>>> David
>>>>>
>>>>>
>>>>>

Re: Detected Reentrant Flush

Posted by David Nordahl <da...@thinkology.org>.
Maybe the DB settings could have something to do with it? I'm using 
MySQL with it's default setup which uses InnoDB.  I notice in the 
documentation that "InnoDB, with innodb_flush_log_at_trx_commit set to 
1, flushes the transaction log after each transaction, greatly improving 
reliability."

Could some DB setting like this be causing the issue?


On 7/8/2012 3:39 PM, Romain Manni-Bucau wrote:
> can you share a small sample to reproduce it, will be easier to help you?
>
> - Romain
>
>
> 2012/7/8 David Nordahl<da...@thinkology.org>
>
>> Not that I've configured.. Unless one of the annotations creates one:
>>
>> @Entity
>> @Table(name = "user")
>> @XmlRootElement
>> @NamedQueries({
>>      @NamedQuery(name = "User.findAll", query = "SELECT u FROM User u"),
>>      @NamedQuery(name = "User.findByUserId", query = "SELECT u FROM User u
>> WHERE u.userId = :userId"),
>>      @NamedQuery(name = "User.findByUserName", query = "SELECT u FROM User
>> u WHERE u.userName = :userName"),
>>      @NamedQuery(name = "User.findByPassword", query = "SELECT u FROM User
>> u WHERE u.password = :password"),
>>      @NamedQuery(name = "User.findByEmail", query = "SELECT u FROM User u
>> WHERE u.email = :email"),
>>      @NamedQuery(name = "User.findByFirstName", query = "SELECT u FROM User
>> u WHERE u.firstName = :firstName"),
>>      @NamedQuery(name = "User.findByLastName", query = "SELECT u FROM User
>> u WHERE u.lastName = :lastName"),
>>      @NamedQuery(name = "User.findByLoginFailures", query = "SELECT u FROM
>> User u WHERE u.loginFailures = :loginFailures"),
>>      @NamedQuery(name = "User.findByLastLoginFailure", query = "SELECT u
>> FROM User u WHERE u.lastLoginFailure = :lastLoginFailure")})
>> public class User implements Serializable {
>>      private static final long serialVersionUID = 1L;
>>      @Id
>>      @GeneratedValue(strategy = GenerationType.IDENTITY)
>>      @Basic(optional = false)
>>      @Column(name = "user_id")
>>      private Integer userId;
>>      @Basic(optional = false)
>>      @Column(name = "user_name")
>>      private String userName;
>>      @Basic(optional = false)
>>      @Column(name = "password")
>>      private String password;
>>      @Column(name = "email")
>>      private String email;
>>      @Column(name = "first_name")
>>      private String firstName;
>>      @Column(name = "last_name")
>>      private String lastName;
>>      @Column(name = "login_failures")
>>      private Integer loginFailures;
>>      @Column(name = "last_login_failure")
>>      @Temporal(TemporalType.**TIMESTAMP)
>>      private Date lastLoginFailure;
>>      @JoinColumn(name = "associated_customer", referencedColumnName =
>> "customer_id")
>>      @ManyToOne
>>
>>
>> On 7/8/2012 3:25 PM, Romain Manni-Bucau wrote:
>>
>>> Hi,
>>>
>>> any entity listener playing with id or special field on User entity?
>>>
>>> - Romain
>>>
>>>
>>> 2012/7/8 David Nordahl<da...@thinkology.org>
>>>
>>>   I'm attempting the code:
>>>> Properties properties = new Properties();
>>>> properties.setProperty(****Context.INITIAL_CONTEXT_****FACTORY,
>>>> "org.apache.openejb.client.****LocalInitialContextFactory");
>>>>
>>>> InitialContext initialContext = new InitialContext(properties);
>>>> Object object = initialContext.lookup("****UserFacadeLocal");
>>>>
>>>> UserFacadeLocal userFacade = (UserFacadeLocal) object;
>>>> User newuser = new User();
>>>> newuser.setEmail("cow@cow.moo"****);
>>>>
>>>> newuser.setUserName("steve");
>>>> newuser.setPassword("cows");
>>>> userFacade.create(newuser);
>>>>
>>>> but keep getting "org.apache.openjpa.****persistence.****
>>>> InvalidStateException:
>>>>
>>>> Detected reentrant flush.  Make sure your flush-time instance callback
>>>> methods or event listeners do not invoke any operations that require the
>>>> in-progress flush to complete."
>>>>
>>>> I tried setting "openjpa.FlushBeforeQueries" to false just to see if I
>>>> can
>>>> get the error to go away, but it makes no difference.  I can't find a
>>>> flush() call in my project and according to the table in the docs, flush
>>>> is
>>>> not called if this parameter is set.  What am I not doing correctly here?
>>>>
>>>> Thank you,
>>>> David
>>>>
>>>>

Re: Detected Reentrant Flush

Posted by Romain Manni-Bucau <rm...@gmail.com>.
can you share a small sample to reproduce it, will be easier to help you?

- Romain


2012/7/8 David Nordahl <da...@thinkology.org>

> Not that I've configured.. Unless one of the annotations creates one:
>
> @Entity
> @Table(name = "user")
> @XmlRootElement
> @NamedQueries({
>     @NamedQuery(name = "User.findAll", query = "SELECT u FROM User u"),
>     @NamedQuery(name = "User.findByUserId", query = "SELECT u FROM User u
> WHERE u.userId = :userId"),
>     @NamedQuery(name = "User.findByUserName", query = "SELECT u FROM User
> u WHERE u.userName = :userName"),
>     @NamedQuery(name = "User.findByPassword", query = "SELECT u FROM User
> u WHERE u.password = :password"),
>     @NamedQuery(name = "User.findByEmail", query = "SELECT u FROM User u
> WHERE u.email = :email"),
>     @NamedQuery(name = "User.findByFirstName", query = "SELECT u FROM User
> u WHERE u.firstName = :firstName"),
>     @NamedQuery(name = "User.findByLastName", query = "SELECT u FROM User
> u WHERE u.lastName = :lastName"),
>     @NamedQuery(name = "User.findByLoginFailures", query = "SELECT u FROM
> User u WHERE u.loginFailures = :loginFailures"),
>     @NamedQuery(name = "User.findByLastLoginFailure", query = "SELECT u
> FROM User u WHERE u.lastLoginFailure = :lastLoginFailure")})
> public class User implements Serializable {
>     private static final long serialVersionUID = 1L;
>     @Id
>     @GeneratedValue(strategy = GenerationType.IDENTITY)
>     @Basic(optional = false)
>     @Column(name = "user_id")
>     private Integer userId;
>     @Basic(optional = false)
>     @Column(name = "user_name")
>     private String userName;
>     @Basic(optional = false)
>     @Column(name = "password")
>     private String password;
>     @Column(name = "email")
>     private String email;
>     @Column(name = "first_name")
>     private String firstName;
>     @Column(name = "last_name")
>     private String lastName;
>     @Column(name = "login_failures")
>     private Integer loginFailures;
>     @Column(name = "last_login_failure")
>     @Temporal(TemporalType.**TIMESTAMP)
>     private Date lastLoginFailure;
>     @JoinColumn(name = "associated_customer", referencedColumnName =
> "customer_id")
>     @ManyToOne
>
>
> On 7/8/2012 3:25 PM, Romain Manni-Bucau wrote:
>
>> Hi,
>>
>> any entity listener playing with id or special field on User entity?
>>
>> - Romain
>>
>>
>> 2012/7/8 David Nordahl<da...@thinkology.org>
>>
>>  I'm attempting the code:
>>>
>>> Properties properties = new Properties();
>>> properties.setProperty(****Context.INITIAL_CONTEXT_****FACTORY,
>>> "org.apache.openejb.client.****LocalInitialContextFactory");
>>>
>>> InitialContext initialContext = new InitialContext(properties);
>>> Object object = initialContext.lookup("****UserFacadeLocal");
>>>
>>> UserFacadeLocal userFacade = (UserFacadeLocal) object;
>>> User newuser = new User();
>>> newuser.setEmail("cow@cow.moo"****);
>>>
>>> newuser.setUserName("steve");
>>> newuser.setPassword("cows");
>>> userFacade.create(newuser);
>>>
>>> but keep getting "org.apache.openjpa.****persistence.****
>>> InvalidStateException:
>>>
>>> Detected reentrant flush.  Make sure your flush-time instance callback
>>> methods or event listeners do not invoke any operations that require the
>>> in-progress flush to complete."
>>>
>>> I tried setting "openjpa.FlushBeforeQueries" to false just to see if I
>>> can
>>> get the error to go away, but it makes no difference.  I can't find a
>>> flush() call in my project and according to the table in the docs, flush
>>> is
>>> not called if this parameter is set.  What am I not doing correctly here?
>>>
>>> Thank you,
>>> David
>>>
>>>

Re: Detected Reentrant Flush

Posted by David Nordahl <da...@thinkology.org>.
Not that I've configured.. Unless one of the annotations creates one:

@Entity
@Table(name = "user")
@XmlRootElement
@NamedQueries({
     @NamedQuery(name = "User.findAll", query = "SELECT u FROM User u"),
     @NamedQuery(name = "User.findByUserId", query = "SELECT u FROM User 
u WHERE u.userId = :userId"),
     @NamedQuery(name = "User.findByUserName", query = "SELECT u FROM 
User u WHERE u.userName = :userName"),
     @NamedQuery(name = "User.findByPassword", query = "SELECT u FROM 
User u WHERE u.password = :password"),
     @NamedQuery(name = "User.findByEmail", query = "SELECT u FROM User 
u WHERE u.email = :email"),
     @NamedQuery(name = "User.findByFirstName", query = "SELECT u FROM 
User u WHERE u.firstName = :firstName"),
     @NamedQuery(name = "User.findByLastName", query = "SELECT u FROM 
User u WHERE u.lastName = :lastName"),
     @NamedQuery(name = "User.findByLoginFailures", query = "SELECT u 
FROM User u WHERE u.loginFailures = :loginFailures"),
     @NamedQuery(name = "User.findByLastLoginFailure", query = "SELECT u 
FROM User u WHERE u.lastLoginFailure = :lastLoginFailure")})
public class User implements Serializable {
     private static final long serialVersionUID = 1L;
     @Id
     @GeneratedValue(strategy = GenerationType.IDENTITY)
     @Basic(optional = false)
     @Column(name = "user_id")
     private Integer userId;
     @Basic(optional = false)
     @Column(name = "user_name")
     private String userName;
     @Basic(optional = false)
     @Column(name = "password")
     private String password;
     @Column(name = "email")
     private String email;
     @Column(name = "first_name")
     private String firstName;
     @Column(name = "last_name")
     private String lastName;
     @Column(name = "login_failures")
     private Integer loginFailures;
     @Column(name = "last_login_failure")
     @Temporal(TemporalType.TIMESTAMP)
     private Date lastLoginFailure;
     @JoinColumn(name = "associated_customer", referencedColumnName = 
"customer_id")
     @ManyToOne

On 7/8/2012 3:25 PM, Romain Manni-Bucau wrote:
> Hi,
>
> any entity listener playing with id or special field on User entity?
>
> - Romain
>
>
> 2012/7/8 David Nordahl<da...@thinkology.org>
>
>> I'm attempting the code:
>>
>> Properties properties = new Properties();
>> properties.setProperty(**Context.INITIAL_CONTEXT_**FACTORY,
>> "org.apache.openejb.client.**LocalInitialContextFactory");
>> InitialContext initialContext = new InitialContext(properties);
>> Object object = initialContext.lookup("**UserFacadeLocal");
>> UserFacadeLocal userFacade = (UserFacadeLocal) object;
>> User newuser = new User();
>> newuser.setEmail("cow@cow.moo"**);
>> newuser.setUserName("steve");
>> newuser.setPassword("cows");
>> userFacade.create(newuser);
>>
>> but keep getting "org.apache.openjpa.**persistence.**InvalidStateException:
>> Detected reentrant flush.  Make sure your flush-time instance callback
>> methods or event listeners do not invoke any operations that require the
>> in-progress flush to complete."
>>
>> I tried setting "openjpa.FlushBeforeQueries" to false just to see if I can
>> get the error to go away, but it makes no difference.  I can't find a
>> flush() call in my project and according to the table in the docs, flush is
>> not called if this parameter is set.  What am I not doing correctly here?
>>
>> Thank you,
>> David
>>

Re: Detected Reentrant Flush

Posted by Romain Manni-Bucau <rm...@gmail.com>.
Hi,

any entity listener playing with id or special field on User entity?

- Romain


2012/7/8 David Nordahl <da...@thinkology.org>

> I'm attempting the code:
>
> Properties properties = new Properties();
> properties.setProperty(**Context.INITIAL_CONTEXT_**FACTORY,
> "org.apache.openejb.client.**LocalInitialContextFactory");
> InitialContext initialContext = new InitialContext(properties);
> Object object = initialContext.lookup("**UserFacadeLocal");
> UserFacadeLocal userFacade = (UserFacadeLocal) object;
> User newuser = new User();
> newuser.setEmail("cow@cow.moo"**);
> newuser.setUserName("steve");
> newuser.setPassword("cows");
> userFacade.create(newuser);
>
> but keep getting "org.apache.openjpa.**persistence.**InvalidStateException:
> Detected reentrant flush.  Make sure your flush-time instance callback
> methods or event listeners do not invoke any operations that require the
> in-progress flush to complete."
>
> I tried setting "openjpa.FlushBeforeQueries" to false just to see if I can
> get the error to go away, but it makes no difference.  I can't find a
> flush() call in my project and according to the table in the docs, flush is
> not called if this parameter is set.  What am I not doing correctly here?
>
> Thank you,
> David
>