我需要学习Java中面向组件的编程,我相信这与EJB相关,但我不确定...这是真的吗?请给我一些与Java中面向组件编程相关的链接,以便作为起点?谢谢! 最佳答案 面向组件的编程是一种将问题分解为主要部分(“组件”)的方法,每个部分在解决问题时都有特定的角色或职责范围。企业在某种程度上是面向组件的,因为它由“会计”、“采购”、“销售”部门组成,这些部门对企业需要提供的某些任务具有完整的领域。面向对象和面向组件之间的区别在于规模和可重用性。面向对象的思想倾向于关注小对象的紧密集成,其中对象在整个软件产品中重复使用。面向组件的思维倾向于
我有一个在集群中运行的Glassfish3.1.2和一个EJB3.1应用程序。我的应用程序中需要两种预定方法:一种每天只运行一次(在单个节点上)和其他在所有节点上运行的类型(每1-2分钟)——它们不需要以同步方式运行!要求只是这种在每个节点上运行。我不知道如何从这个集群开始-问题是,这是否可以通过@Schedule(以及如何)实现,或者我是否需要其他东西? 最佳答案 我遇到了完全相同的问题(需要一个cluster计时器和一个pernode计时器)并遇到了这个问题。所以,对于任何感兴趣的人:如果你用@Schedule(...,pe
当我尝试为Junit测试模拟以下方法(方法使用远程EJB调用业务逻辑)时,它给出javax.naming.NoInitialContextExceptionprivatevoidsomeMethod(intid1,intid2,HashMapmap){......somecode........Contextctx=newInitialContext();Objectref=ctx.lookup("com.java.ejbs.MyEJB");EJBHomeejbHome=(EJBHome)PortableRemoteObject.narrow(ref,EJBHome.class);EJ
我有一个EJB定义如下:packagecom.foo;@Stateless(mappedName="HelloWorld")publicclassHelloWorldBeanimplementsHelloWorld,HelloWorldLocal....当它部署到Weblogic(WL)时,它获得名称myBean。我不确定这是否重要。我尝试用这段代码调用bean:Hashtableht=newHashtable();ht.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");ht.put
我在想如何才能节省通过jndi查找远程ejb引用的时间。我有一个应用程序需要非常快地运行,但它还必须调用远程ejb,这会减慢它的速度。所以我的解决方案是这样的:我采用了apachecommons-pool库并将其StackObjectPool实现用于我的远程ejb引用缓存。privatestaticfinalObjectPoolpool=newStackObjectPool(newRemoteEjbFactory());工厂看起来像这样:publicstaticclassRemoteEjbFactoryextendsBasePoolableObjectFactory{@Override
我正在开发一个试图结合以下技术的Java网络应用程序:JavaEE6CDIJSF2EJB3.1Spring安全我为我的JSF页面提供基于CDI的支持bean(@ViewScoped、@Named)。我使用@StatelessEJBbean来完成实际工作。我只需要一些session信息,如jSessionCookie(由容器管理)、内部用户名和一些其他内部ID。现在,我想知道将此session信息放在哪里,以便我可以在JSF的支持bean中访问它,同时也将它提供给无状态EJB?我应该使用@StatefulEJBsessionbean还是应该使用@SessionScoped和@Named创
我正在编写一个应用程序,它的唯一目的是执行CRUD操作以维护数据库中的记录。一些表/实体之间存在关系。我见过的大多数创建sessionbean的示例都处理复杂的业务逻辑/操作,这些逻辑/操作与许多我没有的实体进行交互。由于我的应用程序非常基础,sessionbean的最佳设计是什么?我正在考虑为每个实体设置一个sessionbean,该sessionbean具有定义的方法CRUD。然后我想到将所有这些sessionbean组合到一个sessionbean中。然后我发现这篇博文很有趣,但我必须承认我并不完全理解它(什么是ServiceFacade?)。我倾向于sessionbean/实体
我有一个用作身份验证模块的有状态sessionBean(SFSB)。在SFSB中,我存储了当前登录的用户。此外,我还有一些外观(它们是无状态sessionBean(SLSB))为我的实体处理JPA/SQL内容。为了查看当前用户的访问权限,我尝试将SFSB调出SLSB。但是从SLSB调用时,当前用户字段始终为“null”。直接调用SFSB时,当前用户字段设置正确...对于调用,我使用@EJB注释。知道问题出在哪里吗?这是某种上下文问题吗?通常是否可以从SLSB调用SFSB并保持其状态?非常感谢! 最佳答案 您不应该从无状态sessio
我是EJB的新手,正在尝试“HelloWorld”类型的EJBJava程序。这是我的EJB:packagedukesbookstore.ejb;@Stateless(name="BookRequestBean",mappedName="ejb/BookRequestBean")@NamedpublicclassBookRequestBean{//Othercodeshere}这是我的客户:Propertiesprop=newProperties();prop.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.enterprise.naming.S
我想知道事务是如何在EJB内部实现的。我想知道他们用来创建交易的逻辑。如果你能指出一些有用的文章 最佳答案 Hibernate不实现事务,它依赖并包装JDBC事务或JTA事务(容器管理或应用程序管理)。关于EJB,如果您想了解JTA事务管理器的详细信息,您需要精通JTA接口(interface)UserTransaction,TransactionManager,和XAResource在JTAspecification中进行了描述.JDBCAPITutorialandReference,ThirdEdition也有助于理解JDBC驱