草庐IT

ejb-timer

全部标签

python - threading.Timer - 每 'n' 秒重复一次函数

我想每0.5秒触发一次功能,并能够启动和停止以及重置计时器。我不太了解Python线程的工作原理,并且在使用Python计时器时遇到了困难。但是,当我执行threading.timer.start()两次时,我不断收到RuntimeError:threadscanonlystartonce。有解决办法吗?我尝试在每次开始之前应用threading.timer.cancel()。伪代码:t=threading.timer(0.5,function)whileTrue:t.cancel()t.start() 最佳答案 最好的方法是启动一

java - JEE7 : Do EJB and CDI beans support container-managed transactions?

JavaEE7由一堆“bean”定义组成:托管Beans1.0(JSR-316/JSR-250)Java1.0(JSR-330)的依赖注入(inject)CDI1.1(JSR-346)JSF托管Bean2.2(JSR-344)EJB3.2(JSR-345)为了摆脱脑海中的困惑,我研究了几篇“什么时候使用哪种bean类型”的文章。EJB的优点之一似乎是它们单独支持声明性容器管理事务(著名的事务注释)。不过,我不确定这是否正确。有人可以批准吗?与此同时,我想出了一个简单的演示应用程序来检查这是否真的是真的。我刚刚基于this定义了一个CDIbean(不是一个EJB-它没有类级别注释),如下

java - 急切/自动加载 EJB/在启动时加载 EJB(在 JBoss 上)

EJB似乎被延迟加载-每当访问时。但是,我想急切地初始化它们-即每当容器启动时。这是如何实现的(尤其是在JBoss中)Thistopic给出了一些提示,但不是很令人满意。 最佳答案 从EJB3.1开始,可以通知单例bean模块的启动和停止:@Singleton@StartuppublicclassStartupBean{@PostConstructprivatevoidpostConstruct(){/*...*/}@PreDestroyprivatevoidpreDestroy(){/*...*/}}在EJB3.1之前,没有标准的

java - EJB3 本地和远程接口(interface)

我了解本地接口(interface)是为同一容器的JVM实例中的客户端设计的,而远程接口(interface)是为驻留在EJB容器的JVM之外的客户端设计的。不驻留在(或打包)在同一个.ear中但驻留在同一个JavaEE服务器上的Web应用程序客户端怎么样? 最佳答案 官方@Local注释的bean只有在同一个应用程序中才能被访问。与.ear(或其他.war或其他.jarEJB)分开部署的.war是不同的应用程序,即使部署到同一个应用程序服务器实例也是如此。因此,没有保证您的.war中的代码可以调用.ear中定义的@LocalEJB

java - 使用 JPA/EJB3 进行批量插入

JPA/EJB3框架是否提供标准方式来执行批量插入操作...?我们使用hibernate作为持久化框架,所以我可以回退到HibernateSession并使用组合session.save()/session.flush()实现批量插入。但是想知道EJB3是否支持这个... 最佳答案 JPA和Hibernate都没有为批量插入提供特别支持,使用JPA进行批量插入的习惯用法与使用Hibernate时相同:EntityManagerem=...;EntityTransactiontx=em.getTransaction();tx.begi

java - EJB 3.1 @Schedule 可以在应用程序代码之外配置吗?

如何配置计划间隔:@Schedule(persistent=true,minute="*",second="*/5",hour="*")在应用程序代码之外?如何在ejb-jar.xml中配置?我可以在应用程序之外配置它(属性文件的种类)吗? 最佳答案 以下是部署描述符中的调度示例:MessageServiceejb.MessageServiceStateless0/18**showMessage另一种配置定时器的方法是编程调度。@Singleton@StartuppublicclassTimedBean{@Resourcepriva

java - 如何从 EJB 3 访问文件系统?

我想知道如何从EJB3bean访问文件系统?我在互联网上搜索了这个主题,但没有找到好的答案。有些人建议使用java.io/java.nio,即使规范禁止这种用法。无论如何,大多数应用服务器似乎都允许访问此API。另一个想法是使用JCA连接器来访问文件系统或LDAP目录。当一个简单的文件在性能和使用的资源方面是一个更好的解决方案时,我想要这样做以避免在数据库中使用BLOB。你会如何解决这个问题? 最佳答案 不允许您在EJB中访问文件系统的原因是您无法控制应用程序如何在(JavaEE)Container中运行。例如,您的应用程序可能跨服

java - Timer 和 Meter 指标的分钟率表示什么?

我们正在尝试实现基于来自Yammer指标的信息的报告功能。Yammer指标提供有关计时器和计量器的信息,如下所示:METER_METRIC:count=1meanrate=0.01count/s1-minuterate=0.00count/s5-minuterate=0.00count/s15-minuterate=0.00count/sTIMER_METRIC:count=1meanrate=0.01calls/s1-minuterate=0.01calls/s5-minuterate=0.00calls/s15-minuterate=0.00calls/smin=89.77msma

java - 除了 EAR 和 EJB,我还能从 Java EE 应用服务器中获得什么,而我在 Tomcat 之类的 servlet 容器中没有?

我们使用Tomcat来托管基于WAR的应用程序。除了org.apache.catalina.authenticator.SingleSignOn之外,我们是兼容servlet容器的J2EE应用程序。我们被要求迁移到商业JavaEE应用服务器。改变这一点的第一个缺点我看到的是成本。无论申请费用服务器,Tomcat是免费的。其次是复杂性。我们不使用EJB或EAR特性(当然不是,我们不能),也没有错过它们。那么我没有看到的好处是什么?我没有提到的缺点是什么?提到的是...JTA-Java事务API-我们通过数据库控制事务存储过程。JPA-JavaPersistenceAPI-我们使用JDBC

java - 如何使用 Timer 类调用方法,做某事,重置计时器,重复?

我是一名Java初学者,一直在尝试解决这个问题的各种解决方案,并且让自己陷入了困境。我已经尝试过使用Threads,然后发现了这个Timer类,并且到目前为止一直没有成功。如果您可以发布带有main方法的可执行代码,这样我就可以看到它正在工作并从那里开始玩,那就太好了。启动程序调用doSomething()生成随机数并设置Timer的时间。当Timer关闭时,再次调用doSomething()。可能使用这个:http://docs.oracle.com/javase/6/docs/api/java/util/Timer.html 最佳答案