security.AccessControlException错误
当我在后端Java中使用Quartz触发时,我会遇到此错误: java.security.AccessControlException: access denied ("java.lang.RuntimePermission" "modifyThreadGroup") at java.security.AccessControlContext.checkPermission(AccessControlContext.java:382) at java.security.AccessController.checkPermission(AccessController.java:572) at java.lang.SecurityManager.checkPermission(SecurityManager.java:549) at com.google.apphosting.runtime.security.CustomSecurityManager
0 2024-02-07
编程技术问答社区
Akka石英调度器没有触发作业
我尝试使用此 akka { quartz { schedules { HELLO_ACTOR { description = "A cron job that fires off every 10 seconds" expression = "0/10 0 0 ? * * *" } CLEANUP_ACTOR { description = "A cron job that fires off every 10 seconds" expression = "0/10 0 0 ? * * *" } } } } 我创建了模块,并添加调度程序,其中绑定演员和调度程序: protected void configure() { bindActor(HelloActor.class, HelloActor.NAME);
4 2024-01-22
编程技术问答社区
如何在特定时间内每天启动akka调度器?
我创建了一个Akka的调度程序,以每天在固定时间之前发送邮件(示例6:00 AM每天). 那么如何打电话给演员?我的意思是我应该使用什么逻辑? 谢谢. 解决方案 只需计算现在与下午6点之间的差异,将其作为初始延迟,然后每24H重复一次? 其他解决方案 如果服务器在时区域观察其他解决方案 title ="显示问题标记为'dst'" rel =" tag"> dst - 一年中的一半将在上午5点或上午7点发射,具体取决于最初安排的时间. OP似乎生活在印度(没有观察到DST),但是要使解决方案完全可移植(并且因为他提到Trigger trigger = newTrigger() .withIdentity("trigger3", "group1") .startNow() .withSchedule(dailyAtHourAndMinute(6, 0)) .build(); Quartz也更强大.唯一的问题是获得目标参与者.可能将ActorRef放置在调度程序上下文
4 2024-01-22
编程技术问答社区
面临通过AdoJobStore存储工作的问题
我已经从Adojobstore成功连接到Oracle DB.但是,当我尝试添加工作时,我会得到以下例外. 异常来源:石英异常方法:void StoreJob(Quartz.impl.adojobstore.connection和Transactionholder, Quartz.ijobdetail,布尔值)例外stacktrace:at quartz.impl.adojobstore.jobstoresupport.storejob(connectionandTransactionHolder conn,ijobdetail newjob,boolean replestexisting)in C:\ Work \ opensource \ Quartz.net \ Quartznet \ src \ Quartz \ quartz \ Impl \ adojobstore \ jobstoresupport.cs:line 922 AT quartz.impl.adojobsto
0 2024-01-19
编程技术问答社区
将cron表达式转换为人类可读的字符串的JavaScript API
我使用下面的JavaScript API来创建Quartz兼容UI,以向服务器端Quartz Sevices提供CRON表达式. https://github.com/felixruponen/jquery-cron 我们有任何API,我们可以用来将cron表达式转换为Java脚本中的人类可读字符串. 谢谢 解决方案 我最近将Quartz兼容 cron-expression-descriptor javascript并将其命名 crustrue .这个JavaScript库能够将石英cron表达式转换为像这样的人类可读字符串: cronstrue.toString("0 23 ? * MON-FRI"); > "At 11:00 PM, Monday through Friday" 其他解决方案 crustrue - crunded
2 2024-01-14
编程技术问答社区
在Java中,在某些特定时间安排任务
我有一些代码执行,该执行将在不同的日期时间安排许多作业.因此,总的来说,我将在特定日期时间内有很多工作要跑.我知道有一些春季调度程序将在某个时间段执行工作,但是它不会动态安排工作.为了我的目的,我可以将ActiveMQ与定时交付或石英一起使用,但要寻找一些建议.我应该使用Quartz或ActiveMQ定时/延迟交付或其他内容. 还有其他替代方案以及定时执行的执行程序服务,但是如果应用程序重新启动,那么我相信该作业将消失.任何帮助将不胜感激. 解决方案 您可以在ActiveMQ中安排消息传递,但并非被设计为用作工作调度程序,而这正是Quartz的设计目的. 在您谈论过的关于想要"可扩展解决方案"和ActiveMQ的评论中,与大量的计划作业相比不会很好地扩展,因为在排队中积累的消息越多,它会执行的越好,因为它最终将拥有它将这些消息分页到磁盘,而不是将它们保存在内存中.像大多数消息经纪人一样,ActiveMQ的目的是在食用之前持有相对较短的时间.它与更适合此用例的数据库大不
10 2024-01-10
编程技术问答社区
如何使Quartz.NET从独立的程序集中运行作业?
我是Quartz.net的新手,所以请随身携带. 我想将Quartz.net作为独立服务运行. 我想创建一个不同的组件,其中包含我需要运行的所有作业,并让石英配置了从我的汇编中运行这些作业. 因此,每当我创建新作业时,我都会将其添加到我的汇编中,而我要做的就是替换旧的组件并重新启动石英服务. 这是可能的吗? 任何人都可以向我展示/将我重定向到一个代码示例,显示如何执行此操作. 解决方案 为了为您的问题寻求一个好的解决方案,首先像Quartz.examples在示例12和13中一样为此,只要让自己成为复制品;-).此外,您还必须在服务器的组件中添加工作组装的引用,以便稳定与" execute" execute()方法"的通信,并且必须避免例外...那么您可以创建一个客户端派遣的地方您只需要选择与服务器相同的端口,通道和绑定的作业,并使用相同的端口,通道和绑定来运行它.让我知道您是否想对其进行一些示例代码.
2 2024-01-07
编程技术问答社区
用SQL Server AdoJobStore配置Quartz.NET
我很难尝试让Quartz.net与Adojobstore一起使用.这里的其他问题似乎都没有遇到我的问题.我能够在没有Adojobstore配置的情况下使其正常工作,但最终想坚持所有内容,但是当我尝试GetScheduler()>我不知道时,我会遇到错误. . 这是我的石英app.config部分:
0 2024-01-05
编程技术问答社区
Quartz.NET服务器文档
下载Quartz.net时,它包含具有控制台应用程序的服务器组件. 网站,常见问题解答和API文档没有提及任何内容. 有人会更多地了解它还是知道我可以在哪里找到更多文档? 谢谢 帕特里克 解决方案 好吧,您可以加入 quartz.net Google Group 档案.我成功地使用了来自客户端的远程调度的Quartz Server-Client,这是我从下载的代码示例中学到的所有内容.
4 2024-01-05
编程技术问答社区
在IBM Domino应用程序中使用Quartz Scheduler
我是石英的新手,但是要知道您必须拥有的3件事才能使它起作用. 这些是工作,触发器和调度程序. 现在,在我们的Domino应用程序中,我们必须将其用于刷新令牌. 我为此创建了3个基本类. 工作: public class RefreshEGRZTokenJob implements Job { public void execute(JobExecutionContext arg0) throws JobExecutionException { System.out.println("stub for refreshing a token"); } } 触发器和类似main的东西: public class RefreshEGRZTokenExecutor { private static String REFRESH_TOKEN_JOB = "refreshTokenJob"; publi
2 2023-12-23
编程技术问答社区
Java内存不足异常
我正在Tomcat运行Java Web应用程序.该应用程序使用石英框架定期安排CRON作业.此CRON作业涉及解析一个4+ MB XML文件,我使用JDOM API进行操作. XML文件包含大约3600个节点要解析,因此要在DB中进行更新的数据. 解析文件的几乎一半后,我的应用程序会引发一个不含内存的例外.同一堆栈轨迹是: Exception in thread "ContainerBackgroundProcessor[StandardEngine[Catalina]]" java.lang.OutOfMemoryError: Java heap space at java.util.Arrays.copyOfRange(Arrays.java:3210) at java.lang.String.(String.java:216) at java.lang.StringBuffer.toString(StringBuf
4 2023-12-23
编程技术问答社区
WSO2 ESB任务(调度程序)不';t工作
我必须使用ESB任务(调度程序)将XML消息发送到我的JMS代理服务(通过JMS接收和发送消息). 我尝试了2个解决方案. 1解决方案 在添加任务中我填写: message -> my XML injectTo -> set 'proxy' proxyName -> my proxy name 结果是,我的JMS代理会收到消息,但没有JMS_CORELATION(我想消息是在ESB中发送的),我会收到该错误: Unexpected error sending message back org.apache.axis2.AxisFault: Transport out has not been set at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:432) at org.apache.synapse.core.axis2.Axis2Sender.sendBac
2 2023-12-15
编程技术问答社区
石英计划作业无法访问Websphere中的数据源
我正在开发一个网络应用程序,其中批处理程序需要在特定时间运行.我使用石英库来安排工作. Web应用程序部署在WebSphere 8.5.5及其工作正常上,通过数据源访问表(代码中给出的数据源为 java:comp/env/env/jdbc/db_datasource ).该作业也在上述时间触发. 当计划的作业通过数据源建立数据库连接时,我会遇到错误,并且错误是: javax.naming.ConfigurationException: A JNDI operation on a "java:" name cannot be completed because the server runtime is not able to associate the operation's thread with any J2EE application component. This condition can occur when the JNDI client using the
18 2023-12-03
编程技术问答社区
非管理线程 Spring Quartz Websphere Hibernate
看来,我们使用Quartz -JDBCJOBStore以及Spring,Hibernate和WebSphere的实现正在抛出非托管线程. 我已经阅读了一些阅读,并发现了IBM的一篇技术文章,指出石英对春季的使用将导致这一点.他们提出了使用Commnonj解决此问题的建议. 我做了一些进一步的研究,到目前为止,我见过的唯一示例都涉及不在数据库中的旧求职者. 所以,我想知道是否有人有解决此问题的解决方案. 谢谢 解决方案 我们有一个工作解决方案(实际上是两个). 1)更改石英源代码以使用Workmanager守护程序线程为主要调度程序线程.它有效,但需要更改夸脱.不过,我们没有使用它,因为我们不想维护Quartz的黑客版本. (这提醒我,我要将其提交给项目,但完全忘记了) 2)创建一个用作石英螺纹池的WorkmanagerThreadPool.实现石英线程池的接口,以便将石英中触发的每个任务包裹在一个commonj工作对象中,然后将安排在工人管理器
12 2023-12-03
编程技术问答社区
Grails。在prod中,Tomcat不会干净地关闭。
我在关闭生产中关闭Grails应用程序的问题. 从Intellij运行时,它会干净地关闭.但是,在独立的tomcat 7中,关闭它进入了僵尸状态,其中Java过程仍然存在,但HTTP请求已悬挂.我必须杀死Java过程(使用Kill). 我正在使用tomcat的标准bin/startup.sh和shutdown.sh.随着Tomcat的停止,我将.war放入Tomcat的/WebApps目录,然后开始. 我怀疑它可能是石英作业调度程序插件,但是我在Grails-app/apos中部署了一个没有工作的版本,但它仍然挂起. 任何人以前遇到过吗?谢谢! 解决方案 非daemon线程 大概一个或多个非daemon线程仍在运行并阻止Tomcat成功关闭. 开放终端和类型ps -ef| grep java并找到您的tomcat7 p_id 类型kill -3 p_id 类型(在您的tomcat目录中)tail -200 logs/catalina.out
0 2023-11-30
编程技术问答社区
如何在我的石英配置中动态地添加一个字段?
我在我的web.config中有一个石英配置部分,我想向其添加一个键值字段. (我知道我可以去web.config并手动添加它,但这会破坏目的) 我尝试使用这种方式 var config = (NameValueCollection)WebConfigurationManager.GetSection("quartz"); config.Add("quartz.dataSource.quartzDS.connectionString", "data source =.."); 但是它失败了,因为收集仅读取并且无法修改.关于如何执行此操作的提示? 编辑:我最终将配置复制到nameValueCollection,然后将其复制到另一个(对于ReadOnly属性)添加我想要的键值并将其传递给我需要的函数. var oldConfig = (NameValueCollection)WebConfigurationManager.GetSection("quartz");
6 2023-11-30
编程技术问答社区
Java web应用程序中的Quartz与ScheduledExecutorService
用于系统监视Java应用程序,该应用程序当前在命令行上运行并使用 ScheduledExecutorService ,我想编写一个简单的Web应用程序版本,要在a servlet容器喜欢 >或 我已经阅读了有关 quartz 作为流行的作业调度程序用于Web应用程序.将此应用程序从ScheduledExecutorService移到Quartz,是否会更好(也许是因为更好的Servlet容器集成)? 将另一个库的依赖性添加到应用程序不是问题,我对使用ScheduledExecutorService的技术原因感兴趣. 解决方案 这取决于您使用的内容. Quartz对编程时间有用,例如每个小时每小时. 计划ExecutorService对于重复不必在特定时间发生的任务很有用.它更简单,可能更有效.如果您有此操作,它向我表明您不需要石英. 其他解决方案 计划在较低级别运行,您必须自己实施所有计划监视/维护设施. quartz具有大量设施 . 其他
8 2023-11-29
编程技术问答社区
在集群环境中使用Quartz
我希望在应用程序中使用石英调度程序,因为我有一个群集的环境,并希望保证我的工作中只有一个实例每小时运行.我的问题是...我是否必须使用JDBC作业店或某种"外部"存储工作数据,以确保我的集群中只有一次实例在任何给定小时内运行工作,或者有更多的魔术,quartz是否有更多的魔术我知道吗? 是的Terracotta网络功能).
在Tomcat中部署Grails石英插件时无法工作
我有一个使用Grails开发的Web应用程序.我正在尝试实现一个背景过程,该过程使用Quartz1.0-RC9插件每5分钟扫描DB中的表格. 在尝试编码实际逻辑之前,我将学习如何使用插件,因为我是石英的新手.因此,我创建了一个作业,每5秒钟都用当前时间戳打印消息" hai". class checkJob { static triggers = { simple name:'sampleQuartz', startDelay:10000, repeatInterval: 5000l, repeatCount: -1 // execute job once in 5 seconds } def execute() { println "hai!!!"+new Date()// execute job } } 和我的Quartzconfig.groovy是 quartz { autoStartup =
4 2023-11-27
编程技术问答社区
石英的slf4j异常
我正在尝试在项目中的一个简单示例中使用石英.我得到以下例外,我不确定这是什么意思...但是,即使在那时,我在pom文件中将我的slf4j更新为1.6.1 SLF4J: slf4j-api 1.6.x (or later) is incompatible with this binding. SLF4J: Your binding is version 1.5.5 or earlier. SLF4J: Upgrade your binding to version 1.6.x. or 2.0.x Exception in thread "main" java.lang.NoSuchMethodError: org.slf4j.impl.StaticLoggerBinder.getSingleton()Lorg/slf4j/impl/StaticLoggerBinder; at org.slf4j.LoggerFactory.bind(LoggerFactory.java:
2 2023-11-18
编程技术问答社区