Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oracle WebLogic作业调度_Oracle_Servlets_Weblogic_Scheduled Tasks - Fatal编程技术网

Oracle WebLogic作业调度

Oracle WebLogic作业调度,oracle,servlets,weblogic,scheduled-tasks,Oracle,Servlets,Weblogic,Scheduled Tasks,我正在尝试实现一个WebLogic作业调度示例,以测试集群在调度任务上的故障转移能力(确保这些任务在故障转移场景中执行) 考虑到这一点,我一直在关注并尝试相应地配置所有内容。以下是我到目前为止所做的步骤: 配置了一个具有1个管理员的群集 服务器(AdminServer)和2个托管服务器 实例(Noddy和Snoopy) 设置数据库表(使用Oracle) XE):活动的和网络逻辑定时器 设置数据源以访问数据库和 将其与计划关联 “群集设置”下的任务> “日程安排” 执行作业(TimerListen

我正在尝试实现一个WebLogic作业调度示例,以测试集群在调度任务上的故障转移能力(确保这些任务在故障转移场景中执行)

考虑到这一点,我一直在关注并尝试相应地配置所有内容。以下是我到目前为止所做的步骤:

  • 配置了一个具有1个管理员的群集 服务器(AdminServer)和2个托管服务器 实例(Noddy和Snoopy)
  • 设置数据库表(使用Oracle) XE):
    活动的
    网络逻辑定时器
  • 设置数据源以访问数据库和 将其与计划关联 “群集设置”下的任务> “日程安排”
  • 执行作业(
    TimerListener
    ) 和一个servlet来初始化作业 日程安排如下:
  • Noddy服务器日志 (
    Noddy.out
    文件):


    有人能帮我发现我的配置有什么问题吗?提前感谢您的帮助

    我原来是通过重新启动整个系统,然后从命令行启动WebLogic实例来解决这个问题的。在这个透视图中,我将输出发送到命令行,从而成功地实现了这一点

    我要感谢所有试图帮助我解决这个问题的人。

    还要尝试添加调试(JAVA_选项:-Dweblogic.debug.DebugSingletonServices=true-Dweblogic.JobScheduler=true)


    对我来说,仅仅通过控制台将其放入服务器启动参数是不够的。我必须输入setDomainEnv.sh。

    史努比现在也在运行吗?您是否尝试过从Snoopy启动servlet—只是想了一下,但没有改变任何事情。我尝试重新启动机器(托管hole群集,因为它是虚拟机上的本地配置),但我得到的只是Noddy日志(“Noddy.LOG”文件)上的差异:«#####»我可以看到您在Oracle论坛上也没有得到回复。但这不是先前的成功消息吗?@josek我不这么认为,因为我关闭了所有服务器(管理服务器和托管服务器),然后删除了日志文件。此消息在群集重新启动后记录。
    package timedexecution;
    
    import java.io.IOException;
    import java.io.PrintWriter;
    import java.io.Serializable;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    import javax.naming.InitialContext;
    import javax.naming.NamingException;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import commonj.timers.Timer;
    import commonj.timers.TimerListener;
    import commonj.timers.TimerManager;
    
    public class TimerServlet extends HttpServlet {
        private static final long serialVersionUID = 1L;
    
        protected static void logMessage(String message, PrintWriter out){
            out.write("<p>"+ message +"</p>");
            System.out.println(message);
        }
    
        @Override
        public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            PrintWriter out = response.getWriter();
            //
            out.println("<html>");
            out.println("<head><title>TimerServlet</title></head>");
            //
            try {
                //
                logMessage("service() entering try block to intialize the timer from JNDI", out);
                //
                InitialContext ic = new InitialContext();
                TimerManager jobScheduler = (TimerManager)ic.lookup("weblogic.JobScheduler");
                //
                logMessage("jobScheduler reference " + jobScheduler, out);
                //
                jobScheduler.schedule(new ExampleTimerListener(), 0, 30*1000);            
                //
                logMessage("Timer scheduled!", out);
                //
                //execute this job every 30 seconds
                logMessage("service() started the timer", out);
                //
                logMessage("Started the timer - status:", out);
                //
            }
            catch (NamingException ne) {
                String msg = ne.getMessage();
                logMessage("Timer schedule failed!", out);
                logMessage(msg, out);
            }
            catch (Throwable t) {
                logMessage("service() error initializing timer manager with JNDI name weblogic.JobScheduler " + t,out);
            }
            //
            out.println("</body></html>");
            out.close();
        }
    
    
        private static class ExampleTimerListener implements Serializable, TimerListener {
            private static final long serialVersionUID = 8313912206357147939L;
    
            public void timerExpired(Timer timer) {
                SimpleDateFormat sdf = new SimpleDateFormat();
                System.out.println( "timerExpired() called at " + sdf.format( new Date() ) );
            }
        }
    
    }
    
    ####<15/Mar/2010 10H45m GMT> <Warning> <Cluster> <test-ad> <Noddy> <[STANDBY] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1268649925727> <BEA-000192> <No currently living server was found that could host TimerMaster. The server will retry in a few seconds.> 
    
    service() entering try block to intialize the timer from JNDI
    jobScheduler reference weblogic.scheduler.TimerServiceImpl@43b4c7
    Timer scheduled!
    service() started the timer
    Started the timer - status:
    <15/Mar/2010 10H45m GMT> <Warning> <Cluster> <BEA-000192> <No currently living server was found that could host TimerMaster. The server will retry in a few seconds.> 
    
    ####<15/Mar/2010 11H24m GMT> <Info> <Common> <test-ad> <Noddy> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1268652270128> <BEA-000628> <Created "1" resources for pool "TxDataSourceOracle", out of which "1" are available and "0" are unavailable.> 
    ####<15/Mar/2010 11H37m GMT> <Info> <Cluster> <test-ad> <Noddy> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1268653040226> <BEA-000182> <Job Scheduler created a job with ID Noddy_1268653040156 for TimerListener with description timedexecution.TimerServlet$ExampleTimerListener@2ce79a> 
    ####<15/Mar/2010 11H39m GMT> <Info> <JDBC> <test-ad> <Noddy> <[ACTIVE] ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1268653166307> <BEA-001128> <Connection for pool "TxDataSourceOracle" closed.>