我需要创建一个间隔计时器,设置为每周运行一次.我不希望它基于用户输入启动,但我希望在将应用程序部署到服务器时创建它.我见过的每个例子都有另一个类启动计时器.我不想使用消息驱动的bean来创建计时器,因为审计应该仅在给定时间段内查询数据库,而不是基于发送消息的操作.
我已经包含了一个Timer的例子.在下面的示例中,计时器应每10分钟触发一次.作为测试,我希望定时器每10分钟触发一次,这样我就可以测试定时器了.
@Stateless
public class TimerTest implements
TimerTestLocal, TimerTestRemote{
@Resource
private TimerService timerService;
private Logger log = Logger.getLogger(TimerTest.class);
private long interval = 1000 * 60 * 10;
private static String TIMER_NAME = "AuditTimer";
public void scheduleTimer() throws NamingException {
// TODO Auto-generated method stub
Calendar cal = Calendar.getInstance();
//cal.set(Calendar.HOUR_OF_DAY, 23);//run at 11pm
//cal.set(Calendar.MINUTE, 00);
//cal.set(Calendar.DAY_OF_WEEK, Calendar.FRIDAY);
SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy hh:mm");
log.debug("schedule for: " + sdf.format(cal.getTime()));
timerService.createTimer(cal.getTime(), interval, TIMER_NAME);
}
public void cancelTimer() {
for(Object obj : timerService.getTimers())
{ …Run Code Online (Sandbox Code Playgroud) 我们有一个基于传递的表单的Web应用程序.不幸的是,当人们看到它时,它是可编辑的.因此,两个人可以同时编辑它并覆盖他们的更改.您如何将表单(以及同一表单的任何多个部分,因为它分解为多个页面)向下锁定,这样一次只能有一个人编辑它?
我们只希望他们能够一次性编辑表格半小时(他们可以保存并继续增加更多时间).
我有一个解决方案,但我想看看其他人的想法.
在我的解决方案中,当用户首先查看表单(或表单的任何部分,因为有多个部分都需要锁定)时,在按下编辑按钮之前,所有字段都不可编辑.一旦他们点击编辑按钮,就会输入一个标记,其中包含用户ID和开始时间.然后将它们重定向到可编辑的相同表单.页面底部会有一个javascript计时器,让他们知道他们还剩多少时间.完成后,他们点击"保存并退出"按钮保存更改,为其他用户解锁表单,然后返回到不可编辑的表单.为了避免使用后退按钮返回可编辑的表单,我认为将使用包含javascript重定向的中间页面.
如果他们想要编辑其中一个子表单(有按钮将它们从主表单重定向到子表单),他们只需在编辑模式下单击其中一个按钮,它就会保存大表单,更新时间到给他们另外半个小时,并将他们重定向到可编辑的子表单.
当用户试图查看当前正由另一个用户编辑的表单时,编辑按钮将显示为灰色,并显示当前用户的信息以及应该打开的时间,但这次可以在保存和编辑子表单时由用户更改.
这听起来像一个可行的解决方案吗?如果必须做同样的事情,请让我知道你的问题的解决方案是什么?
我们目前在项目中使用clearcase,并且有一个用clearcase生成的HTML文件,其中包含标签中包含的文件的所有文件名.
我应该使用不同的标签生成此文件.我知道如何使用cleartool命令行获取标签中包含的所有文件名,但这对生成文件没有帮助.我不想手动获取该列表并创建HTML文件.那么,我该如何创建这个文件呢?
我目前没有HTML文件的副本,但我已经看过了.希望这个问题不要太混乱和太模糊.我还是比较新的清楚,今天刚刚发现了一些cleartool命令,所以希望这是一个容易回答的问题.