我有一个用@Schedule注释的方法,偶尔会被容器调用.
@Schedule(second = "*/5", minute = "*", hour = "*", persistent = false)
public void myTimerMethod() throws Exception {
...
}
Run Code Online (Sandbox Code Playgroud)
问题是在某些条件下,我希望此方法抛出异常以使正在进行的事务回滚.但如果我这样做超过两次,计时器将被清除,不再被调用!
INFO: EJB5119:Expunging timer ['68@@1359143163781@@server@@domain1' 'TimedObject = MyBean' 'Application = My-War' 'BEING_DELIVERED' 'PERIODIC' 'Container ID = 89072805830524936' 'Fri Jan 25 21:49:30 CET 2013' '0' '*/5 # * # * # * # * # * # * # null # null # null # true # myTimerMethod # 0' ] after [2] failed deliveries
Run Code Online (Sandbox Code Playgroud)
我知道我可以使用在domain.xml中配置计时器重新安排
<domains>
...
<configs>
<config> …
Run Code Online (Sandbox Code Playgroud) 我试图在Glassfish 4.0上部署一个简单的JAX-RS服务,并继续收到以下错误:
HTTP Status 404 - Not Found
type Status report
messageNot Found
descriptionThe requested resource is not available.
GlassFish Server Open Source Edition 4.0
Run Code Online (Sandbox Code Playgroud)
War文件在Glassfish服务器中部署得很好但是看起来类加载器没有正常工作并且正确地公开了其余的服务.我试图弄清楚为什么课程没有适当加载.我知道这可能是一个简单的配置更改,但我一直无法找到它.
配置: glassfish-web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE glassfish-web-app PUBLIC "-//GlassFish.org//DTD GlassFish Application Server 3.1 Servlet 3.0//EN" "http://glassfish.org/dtds/glassfish-web-app_3_0-1.dtd">
<glassfish-web-app error-url="">
<context-root>/reports</context-root>
<class-loader delegate="true"/>
<jsp-config>
<property name="keepgenerated" value="true">
<description>Keep a copy of the generated servlet class' java code.</description>
</property>
</jsp-config>
</glassfish-web-app>
Run Code Online (Sandbox Code Playgroud)
web.xml中:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<servlet>
<servlet-name>Jersey</servlet-name>
<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping> …
Run Code Online (Sandbox Code Playgroud)