根据Springjavadoc@Transactional(propagation=Propagation.SUPPORTS)Supportacurrenttransaction,executenon-transactionallyifnoneexists.AnalogoustoEJBtransactionattributeofthesamename.看来我可以只声明非事务性方法并完成它,所以我的问题是。在哪些情况下需要SUPPORTS传播?支持传播的意义何在?谁能给出一个支持实际有用的真实示例/场景? 最佳答案 我能想到的最简单的
我正在尝试在以下环境中部署应用程序。JPA2.0Spring3.2.2MySQL5.6.11到目前为止,我在application-context.xml文件中的配置如下。-->在取消注释上述xml文件中的注释行之前,这可以正常工作。当这些行未注释时,我得到以下异常。org.springframework.beans.factory.BeanCreationException:Errorcreatingbeanwithname'entityManagerFactory'definedinServletContextresource[/WEB-INF/applicationContext
我正在尝试在以下环境中部署应用程序。JPA2.0Spring3.2.2MySQL5.6.11到目前为止,我在application-context.xml文件中的配置如下。-->在取消注释上述xml文件中的注释行之前,这可以正常工作。当这些行未注释时,我得到以下异常。org.springframework.beans.factory.BeanCreationException:Errorcreatingbeanwithname'entityManagerFactory'definedinServletContextresource[/WEB-INF/applicationContext
这篇文章是JPAHowtogetthevaluefromdatabaseafterpersist的延续当我执行以下操作时出现以下异常,我该如何解决?NotallowedtocreatetransactiononsharedEntityManager-useSpringtransactionsorEJBCMTDAOImpl代码publicvoidcreate(Projectproject){entityManager.persist(project);entityManager.getTransaction().commit();project=entityManager.find(Pr
这篇文章是JPAHowtogetthevaluefromdatabaseafterpersist的延续当我执行以下操作时出现以下异常,我该如何解决?NotallowedtocreatetransactiononsharedEntityManager-useSpringtransactionsorEJBCMTDAOImpl代码publicvoidcreate(Projectproject){entityManager.persist(project);entityManager.getTransaction().commit();project=entityManager.find(Pr
我有一个EJB和一个使用它的Web服务。我现在想编写一个简单的TCP服务器作为web服务的替代方案,但我不想重写EJB中的逻辑和它下面的数据库层。所以我写了一个简单的TCP服务器作为单例,并注解@Startup。该应用程序可以运行,但它似乎也会终止JBoss管理控制台并产生大量超时异常。我怀疑原因是服务器bean中的无限while循环,这是接受传入连接所必需的。有没有办法解决这个问题,或者将EJB作为服务器只是一个坏主意?我想替代方案是编写一个独立的Java应用程序并在我的业务逻辑EJB上使用远程接口(interface),尽管这似乎有点麻烦.... 最佳答
使用Glassfish,我可以设置一个字符串jndi条目:JNDIname:"com/xyzcompany/echo/EchoServiceBean/viewName"FactoryClass:org.glassfish.resources.custom.factory.PrimitivesAndStringFactoryProperties:value="Testing123"然后我可以将这个容器配置的字符串注入(inject)到我的EJB中:@Resource(lookup="com/xyzcompany/echo/EchoServiceBean/viewName")Stringv
使用NetBeans,我在包含main()的类中执行以下操作,它起作用了:importjavax.ejb.EJB;publicclassMaster{@EJBTestBeanARemotex;publicstaticvoidmain(String[]args){Masterm=newMaster();m.doStuff();}//doStuffincludesx,butitworks,sowhocares....但是,如果我在一个被调用的类中这样做,它就会失败。似乎被调用的类要求我避免使用注释,而是使用整个InitialContext()设置。StringtestRun(Stringa
我正在使用EJB3.0开发一个简单的应用程序,使用OpenEJB进行部署并使用Eclipse作为IDE。我在Eclipse中将项目创建为“动态Web应用程序”。当我尝试创建第一个无状态sessionbean时,我意识到无法解析@Remote注释。解决这个问题的正确方法是什么?删除项目并创建一个新的“企业应用程序项目”(这似乎很重,所以我不确定是否要朝这个方向发展)?删除项目并创建一个EJB项目(这似乎不对,因为我相信这样的项目只会让我捆绑应用程序的EJB部分)?将一些库添加到我现有的项目中(是否有用于EJB3.x的库包)?向我现有的项目添加一个方面(我试图查看是否可以添加一个方面,但我
我一直在阅读有关JPA和EJB3的文章,并想确认我对它们关系的理解是正确的。这是我想我知道的...JPA是一种已被许多供应商实现的规范,包括:JBoss/hibernateOracle/TopLinkEssentials(现为EclipseLink)Apache/OpenJPAEJB3是在应用服务器中实现的规范,包括:玻璃鱼J老板这个对吗? 最佳答案 JavaEE5中引入的JavaPersistenceAPI是EJB3的一个子集,并取代了EJB2.0CMP的持久性解决方案。JPA1.0已被定义为EJB3.0规范(JSR220)的一部