Tag: ejb

如何在群集中为一个节点和所有节点运行预定方法?

我有一个在集群和EJB 3.1应用程序中运行的Glassfish 3.1.2。 我的应用程序中需要两种计划方法: 一种每天只运行一次(在单个节点上) 和其他在所有节点上运行的类型(每1-2分钟) – 它们不需要运行同步方式! 要求只是在每个节点上运行。 我不知道如何从这个集群开始 – 问题,这可能是@Schedule (以及如何)或者我还需要别的吗?

如何将EJB 3.1公开为REST Web服务?

在Adam Bien的博客上阅读文章时,我在使用EJB 3.1时发现了java restful中的一个新function。 问题是Stateless和Singleton bean可以作为root资源公开。 但是怎么样? 我试着这样做: @Stateless @LocalBean @Path(“Hybrid”) public class RESTEJBSample { @GET @Path(“/demo”) @Produces(MediaType.TEXT_PLAIN) public String something() { return “I am a Hybrid!!!”; } } 当我调用URL http:// localhost:8080 / HybridSample / resources / Hybrid / demo时,我收到404错误。 为了确保JAXRS正在我的项目中工作,我创建了一个简单的pojo资源,以测试它是否正常工作。 @Path(“/genericresource”) public class GenericResource { @GET @Path(“/samplemethod”) @Produces(MediaType.TEXT_PLAIN) public String saySomething() { return “Something!”; […]

在Java类中注入EJB时出现NullPointerException

我认为这个问题引发了,因为我没有得到EJB的东西。 我有一个我的实体的服务类,它是@Stateless。 当我通过在我的会话范围演示模型中注入@EJB来使用它时,一切正常。 但是现在我想在我已覆盖的DataModel中使用这个EJB服务,以便在我的演示模型中使用: public class LazyUserDataModel extends LazyDataModel { @EJB private UserService service; @Override public List load(int first, int pageSize, String sortField, SortOrder sortOrder, Map filters) { List users; users= service.findAllUsers(); this.setRowCount(users.size()); return users; } } 执行时,我在位置“users = service.findAllUsers();”处得到NullPointerException。 当我在演示模型中覆盖此DataModel时,同样有效: @Named @SessionScoped public class UserPM { @EJB private UserService service; private LazyDataModel lazyUsers; public […]

EJB和线程

据我所知,从EJB中生成线程是非法的,因为它可能会干扰EJB的生命周期。 但是,使用JDK中的预定义Java类是非法的,它在内部生成并处理EJB中的Executor等线程,特别是MDB?

JPA:关于在删除实体之前合并实体的问题

我知道我必须在删除它之前合并该实体,但我从未想过我必须在EJB中执行它。 首先,我有这些: e = (Event) scholarBean.merge(e); scholarBean.remove(e); 在我的托管bean中。 它给了我这个错误 java.lang.IllegalArgumentException: Entity must be managed to call remove: com.scholar.entity.Event@998, try merging the detached and try the remove again. 那么我将这两行放在我的会话bean中,它就可以了。 知道为什么吗? Managed Bean myEJB.deleteEvent(e); 和 myEJB.java public void deleteEvent(Event e){ e = (Event) merge(e); em.remove(e); }

每隔几分钟(或几秒钟)运行@Schedule注释

我想尝试以下列方式使用@Schedule注释: public class MyTestServlet extends HttpServlet { private static JcanLogger LOG = JcanLoggerFactory.getLogger(ServiceTestServlet.class); @EJB CronService cronService; public void service(HttpServletRequest req, HttpServletResponse resp) throws …. { …. cronService.iLive(); } — @Local // because the ejb is in a servlet (there is no other jvm) public interface CronService { public void iLive(); public void runsEveryMinute(); } — […]

使用“crontab语法”进行EJB调度任务

我试图找出解决以下问题的可能性。 a)我想有一个使用“crontab语法”来安排任务的数据库表,结构将是这样的: | -Id- | — Crontab语法— | ———任务———- | | 1 | 30 * * * * * | MyClass.TaskA(args [])| | 2 | 0 1 * * 1-5 * | MyClass.TaskB(args [])| | | | | 上表将由外部应用程序随时修改。 添加或删除的任务应立即影响调度程序。 b)调度程序本身应驻留在Java应用程序服务器上。 它应该不断与数据库表中的活动计划任务同步。 每当调度事件发生时,它应该触发/调用EJB,并将’Task’中的值作为参数。 我不是在寻找上述问题的答案。 但是,在哪些框架中可以使用crontab解析的一些输入以及应该以何种方式部署表示调度程序的EJB。 提前致谢。

EJB与WebService? 绩效观点

好吧我们现在有情况决定。 我认为stackoverflow是讨论的最佳场所。 背景: 我们有2个JVM企业应用服务器,每个都部署了一个应用程序。 我们需要启用从一台机器到另一台机器的业务function调用。 假设一个是客户端而另一个是服务器。 现在从性能角度来看哪种方法更好地设计服务器应用程序。 通过记住以下事项: 我有2个选择: 纯EJB应用程序意味着EJB客户端和EJB服务器组件 WebService简单Java方法(没有基于EJB的Web服务,因为它简直就是混乱) 我的绩效指标:速度:哪种设计方法可以更快地处理请求。 我的业务应用程序将部署在32位机器上! 另请注意,有2个JVM,一个是32位和64位(现在避免这种情况是不可避免的) 请提供您的反馈 问候 阿赫亚

了解托管bean /支持bean

我正在学习Java EE 6,我正在努力掌握它的整体形象。 我正在阅读有关JSF以及如何添加组件的内容。 我正在将组件中的值设置/读取到具有@ManagedBean批注的bean。 我在理解它时遇到了一些麻烦。 什么是Managedbeans? 它只是保持组件状态的对象吗? 他们也可以有其他方法吗? EJB适合哪里? 托管bean是否在EJB上调用了方法?

企业应用程序中的ThreadLocal用法

如果我的Web应用程序和ejb应用程序在同一台机器上(在同一个JVM上)并且所有ejb调用都是本地调用,那么在将信息从Web传递到ejb时, ThreadLocal的使用是否会产生任何问题? 如果ejb调用是远程的,任何解决方法? ThreadLocal信息是否可以从Web应用程序到ejb应用程序? 在这种情况下是否建议使用ThreadLocal ?