[EJB 3.0] - org.hibernate.NonUniqueObjectException:while inserting more
by jimmymani
hi
i am developing an order application with ejb3 .
while processing an order i am saving the order first and then the line items.
these are the steps i am following
-------------------------------------------------
entityManager.persist(orderentity);
Iterator itr = orderDetails.getItems().iterator();
while (itr.hasNext()) {
//create line_item_entity here
orderentity.addLineItem(line_item_entity);
}
entityManager.flush();
------------------------------------------------------
this is working fine when i order with less number of items ,say 15-20
If the number of items are more, say 30-40 ,its throwing
an org.hibernate.NonUniqueObjectException
please let me know if the method i am following is wrong or not
stack trace attached
javax.persistence.PersistenceException: org.hibernate.NonUniqueObjectException: a different object with the same identifier value was already associated with the session: [com.ejb.entities.LineItem#283-0316172324]
at org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException(AbstractEntityManagerImpl.java:567)
at org.hibernate.ejb.AbstractEntityManagerImpl.flush(AbstractEntityManagerImpl.java:270)
at org.jboss.ejb3.entity.TransactionScopedEntityManager.flush(TransactionScopedEntityManager.java:204)
at net.tss.app.ejb.stateless.beans.OrderProcessorBean.processOrder(OrderProcessorBean.java:94)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:112)
at org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:166)
at org.jboss.ejb3.interceptor.EJB3InterceptorsInterceptor.invoke(EJB3InterceptorsInterceptor.java:63)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invoke(TransactionScopedEntityManagerInterceptor.java:54)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.ejb3.AllowedOperationsInterceptor.invoke(AllowedOperationsInterceptor.java:47)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:79)
at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:197)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:76)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:62)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:78)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:47)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.ejb3.stateless.StatelessContainer.localInvoke(StatelessContainer.java:181)
at org.jboss.ejb3.stateless.StatelessLocalProxy.invoke(StatelessLocalProxy.java:79)
at $Proxy82.processOrder(Unknown Source)
at com.actions.OrderAction.processRequest(OrderAction.java:66)
at net.tss.app.servlets.DispatcherServlet.doPost(DispatcherServlet.java:75)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
at java.lang.Thread.run(Thread.java:595)
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3981280#3981280
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3981280
19 years, 6 months
[Management, JMX/JBoss] - Re: persist & auto-restart mbean
by cnsxxx09
Hi,
Further progress ... I managed to now get it registered as an XMBean.
But I'm b*ggered if I know how this auto-persistence is supposed to work ...
When you change an attribute in your XMBean using the jmx-console, shouldn't it now write something to $JBOSS_HOME/server/default/data/xmbean-attrs/
??
(I set persist policy to 'OnUpdate')
What's missing?
TIA
My new code:
work.MyClass mBean = new work.MyClass();
ObjectName objectName = new ObjectName("mydomain.com:job=MyJob,id=" +
System.identityHashCode(mBean));
Descriptor d = new DescriptorSupport();
d.setField(XMBeanConstants.RESOURCE_REFERENCE, mBean);
d.setField(XMBeanConstants.RESOURCE_TYPE, XMBeanConstants.STANDARD_MBEAN);
d.setField(ModelMBeanConstants.PERSIST_NAME, objectName);
d.setField(ModelMBeanConstants.PERSIST_POLICY, "OnUpdate");
d.setField(ModelMBeanConstants.PP_NEVER, "false");
d.setField(ModelMBeanConstants.PERSISTENCE_MANAGER, "org.jboss.mx.persistence.DelegatingPersistenceManager");
XMBean mmb = new XMBean(d, XMBeanConstants.DESCRIPTOR);
server.registerMBean(mmb, objectName);
invokeStringMethod(objectName, "setTestMethod", aTestValue);
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3981279#3981279
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3981279
19 years, 6 months
[JBoss Seam] - org.hibernate.NonUniqueObjectException:while inserting more
by jimmymani
hi
i am developing an order application with ejb3 .
while processing an order i am saving the order first and then the line items.
these are the steps i am following
-------------------------------------------------
entitymanager.persist(orderentity);
Iterator itr = orderDetails.getItems().iterator();
while (itr.hasNext()) {
//create line_item_entity here
orderentity.addLineItem(line_item_entity);
}
em.flush();
------------------------------------------------------
this is working fine when i order with less number of items ,say 15-20
If the number of items are more, say 30-40 ,its throwing
an org.hibernate.NonUniqueObjectException
please let me know if the method i am following is wrong or not
stack trace attached
javax.persistence.PersistenceException: org.hibernate.NonUniqueObjectException: a different object with the same identifier value was already associated with the session: [com.ejb.entities.LineItem#283-0316172324]
at org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException(AbstractEntityManagerImpl.java:567)
at org.hibernate.ejb.AbstractEntityManagerImpl.flush(AbstractEntityManagerImpl.java:270)
at org.jboss.ejb3.entity.TransactionScopedEntityManager.flush(TransactionScopedEntityManager.java:204)
at net.tss.app.ejb.stateless.beans.OrderProcessorBean.processOrder(OrderProcessorBean.java:94)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:112)
at org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:166)
at org.jboss.ejb3.interceptor.EJB3InterceptorsInterceptor.invoke(EJB3InterceptorsInterceptor.java:63)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invoke(TransactionScopedEntityManagerInterceptor.java:54)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.ejb3.AllowedOperationsInterceptor.invoke(AllowedOperationsInterceptor.java:47)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:79)
at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:197)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:76)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:62)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:78)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:47)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.ejb3.stateless.StatelessContainer.localInvoke(StatelessContainer.java:181)
at org.jboss.ejb3.stateless.StatelessLocalProxy.invoke(StatelessLocalProxy.java:79)
at $Proxy82.processOrder(Unknown Source)
at com.actions.OrderAction.processRequest(OrderAction.java:66)
at net.tss.app.servlets.DispatcherServlet.doPost(DispatcherServlet.java:75)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
at java.lang.Thread.run(Thread.java:595)
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3981276#3981276
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3981276
19 years, 6 months
[JBossWS] - WS basic auth only for post requests
by waperboy
I've created a web service, and added basic authentication according to the user-guide chapter 13 (http://labs.jboss.com/portal/jbossws/user-guide/en/html/secure-ejb.html), but it results in basic auth being activated for both GET and POST. I want access to the wsdl to be public.
The web service is defined using webservices.xml, jboss.xml, and ejb-jar.xml, and is contained in a jar file.
I notice in the web.xml file generated by jboss on deploy, that both GET and POST is specified in the security-constraint.
Any ideas on how I can make access to the wsdl (GET requests) public, and only the ws-methods (POST requests) authenticated?
/Per
webservices.xml:
| <webservice-description>
| <webservice-description-name>MyService</webservice-description-name>
| <wsdl-file>META-INF/wsdl/MyService.wsdl</wsdl-file>
| <jaxrpc-mapping-file>META-INF/MyService-mapping.xml</jaxrpc-mapping-file>
| <port-component>
| <port-component-name>MyService</port-component-name>
| <wsdl-port>MyServicePort</wsdl-port>
| <service-endpoint-interface>com.test.ws.MyServiceEndpoint</service-endpoint-interface>
| <service-impl-bean>
| <ejb-link>MyServiceBean</ejb-link>
| <servlet-link></servlet-link>
| </service-impl-bean>
| </port-component>
| </webservice-description>
|
jboss.xml:
| <jboss>
| <security-domain>java:/jaas/my-security-domain</security-domain>
| <enterprise-beans>
| <session>
| <ejb-name>MyServiceBean</ejb-name>
| <port-component>
| <port-component-name>MyService</port-component-name>
| <port-component-uri>/ws/MyService</port-component-uri>
| <auth-method>BASIC</auth-method>
| </port-component>
| </session>
| </enterprise-beans>
| </jboss>
|
ejb-jar.xml:
| <enterprise-beans>
| <session>
| <ejb-name>MyServiceBean</ejb-name>
| <service-endpoint>com.test.ws.MyServiceEndpoint</service-endpoint>
| <ejb-class>com.test.ws.MyServiceSLSB</ejb-class>
| <session-type>Stateless</session-type>
| <transaction-type>Container</transaction-type>
| <security-role-ref>
| <role-name>@ROLE_EXPORT@</role-name>
| </security-role-ref>
| <security-role-ref>
| <role-name>@ROLE_IMPORT@</role-name>
| </security-role-ref>
| </session>
| </enterprise-beans>
|
| <assembly-descriptor>
| <security-role>
| <role-name>@ROLE_IMPORT@</role-name>
| </security-role>
| <security-role>
| <role-name>@ROLE_EXPORT@</role-name>
| </security-role>
| <method-permission>
| <role-name>@ROLE_IMPORT@</role-name>
| <method>
| <ejb-name>MyServiceBean</ejb-name>
| <method-name>submit</method-name>
| </method>
| </method-permission>
| <method-permission>
| <role-name>@ROLE_EXPORT@</role-name>
| <method>
| <ejb-name>MyServiceBean</ejb-name>
| <method-name>fetch</method-name>
| </method>
| </method-permission>
| </assembly-descriptor>
|
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3981275#3981275
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3981275
19 years, 6 months
[JCA/JBoss] - problem with mail
by atamur
I'm getting this exception:
ERROR [MailActivation] Failed to execute folder check, spec=MailActivationSpec(mailServer=10.0.*.*, storeProtocol=imap, mailFolder=INBOX, pollingInterval=60000, messageSelector=null, userName=*, maxMessages=1)
| javax.mail.NoSuchProviderException: Invalid protocol: null
| at javax.mail.Session.getProvider(Session.java:412)
| at javax.mail.Session.getStore(Session.java:511)
| at javax.mail.Session.getStore(Session.java:491)
| at javax.mail.Session.getStore(Session.java:477)
| at org.jboss.resource.adapter.mail.inflow.MailFolder.open(MailFolder.java:69)
| at org.jboss.resource.adapter.mail.inflow.MailActivation.run(MailActivation.java:121)
| at org.jboss.resource.work.WorkWrapper.execute(WorkWrapper.java:204)
| at org.jboss.util.threadpool.BasicTaskWrapper.run(BasicTaskWrapper.java:275)
| at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:743)
| at java.lang.Thread.run(Thread.java:595)when jboss tries to get mail for transferring to my mdb. It happans occasionally. I can't find any pattern yet.
Any ideas?
P.S. MailActivation.java is hacked to pint out exception code.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3981266#3981266
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3981266
19 years, 6 months