我得写一个石英调度器来在Spring运行一个作业。我还需要添加另一个函数来暂停同一个作业。此代码存在于单个独立批处理中。
触发这两个功能:1。开始工作2。暂停作业我已经用main()编写了两个类来执行。
问题是当我触发pauseJobs的main()时,它会启动不同的应用程序上下文,而不是使用相同的应用程序上下文。
>
用于Application Context初始化的Singleton类
public class AppContext {
private static ApplicationContext INSTANCE = null;
private AppContext() {
}
public static ApplicationContext getIntance() {
if (INSTANCE == null) {
String[] contexts = new String[] {"classpath:/applicationContext.xml"};
INSTANCE = new ClassPathXmlApplicationContext(contexts);
}
return INSTANCE;
}
}
类开始工作
公共类StartJobQuartzMain{
public static void main(String[] args) throws Exception {
AppContext.getIntance();
}
}
上课暂停作业
公共课PauseJobQuartzMain{
public static void main(String[] args) throws Exception {
((TestPauseJob) AppContext.getIntance().getBean("testPauseJob")).pauseJob();
}
}
请指导我如何在PauseJobQuartzMain中获取相同的applicationContext实例。JAVA谢谢
你不能从另一个主类中这样做,因为你肯定是从一个新的JVM中运行它。所以他们每个人都有自己的独生子女。您可以考虑在这两个应用程序之间使用一些共享资源:DB、文件、JMS队列等等。或者您可以通过JMX调用一些托管操作。但当应用程序上下文是两个JVM之一时,它们不能共享内存,尤其是Java对象。
让它成为单身与此无关(这在某种程度上是必需的)。。。这两个“java”主类将彼此独立运行,如中所示,它们是两个不同的程序,具有各自的java虚拟机,并且不能彼此共享应用程序上下文。
您可以使用数据库或外部文件(两者都可以访问)或其他方法来实现这一点。。。
希望这有助于...
我对Spring框架有点陌生。我有一个用Spring (4.2.1)编写的web应用程序。我正在尝试使用千分尺库来揭示度量标准,并将与普罗米修斯一起使用。 应用程序的相关结构如下: -核心模块(JAR) -webservice模块(WAR) 我创建了一个PrometheusService类,它是在核心模块中定义的bean。bean中定义的是和: 我创建了指标资源,它是一个公开 /Metrics e
例如,我有两个心率监视器与我的平板电脑配对。我正在使用这样的代码来获取HRM设备列表: 然后,我在GUI中显示一个列表框,其中包含从设备[I]获取的设备名称。名称例如,我选择索引为0的设备。然后我可以访问it人力资源服务和人力资源管理特征: 除了心率,我还需要电池状态。如何访问同一(已选择)设备的电池服务?
问题内容: 我试图尽可能简化我的困境。我有三节课: Α: Beta: 主要: 我希望我不要过分简化。我的问题是如何从Alpha中的方法访问cBeta.DoSomethingBeta()? 问题答案: 你需要以某种方式为Alpha类提供对cBeta的引用。有三种方法可以做到这一点。 1)在构造函数中为Alphas提供Beta。在Alpha课堂上写道: 并从main()调用cAlpha = new A
在下面的代码中,我想将驱动程序从main方法访问到同一类中的另一个方法。要清除错误,我将WebDriver=newfirefoxdriver();里面有另一种方法吗??。请帮帮我。提前感谢您抽出时间
有没有减少代码冗余的方法?
我有一个大型java应用程序,在不同的类中有5个主要方法。我想将此应用程序作为docker容器运行。从DockerHub OpenJDK映像中,我启动了Dockerfile,如下所示 我想添加行来运行主要方法。没有Docker,我使用下面的行运行应用程序 是否可以在一个docker容器中运行上述场景?如果可能,当Dockerfile中只能有一条和指令时,如何实现这一点?