security.AccessControlException错误 [英] security.AccessControlException Error

查看:118
本文介绍了security.AccessControlException错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

  java.security.AccessControlException:访问被拒绝( java.lang.RuntimePermissionmodifyThreadGroup)$ java.util.AccessControlContext.checkPermission(AccessControlContext.java:382)处的
$ java.util.AccessController.checkPermission中的$ b $(AccessController.java:572)
位于java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
位于com.google.apphosting.runtime.security.CustomSecurityManager.checkPermission(CustomSecurityManager.java:55)
at com。 google.apphosting.runtime.security.CustomSecurityManager.checkAccess(CustomSecurityManager.java:136)$ b $ at java.lang.ThreadGroup.checkAccess(ThreadGroup.java:315)
at java.lang.Thread.init( Thread.java:391)在java.lang.Thread.init处使用
(Thread.java:349)在java.lang.Thread处使​​用
。< init>(Thread.java:532)
在org.quartz.simpl.SimpleThreadPool $ WorkerThread。< init>( SimpleThreadPool.java:510)
at org.quartz.simpl.SimpleThreadPool $ WorkerThread。< init>(SimpleThreadPool.java:498)
at org.quartz.simpl.SimpleThreadPool.createWorkerThreads(SimpleThreadPool.java :288)
at org.quartz.simpl.SimpleThreadPool.initialize(SimpleThreadPool.java:277)
at org.quartz.impl.StdSchedulerFactory.instantiate(StdSchedulerFactory.java:1273)
at org.quartz.impl.StdSchedulerFactory.getScheduler(StdSchedulerFactory.java:1502)
处com.tiyaFdManager.backend.SimpleTrigger org.quartz.impl.StdSchedulerFactory.getDefaultScheduler(StdSchedulerFactory.java:1518)
。 SimpleTriggerNotification(SimpleTrigger.java:31)
at com.tiyaFdManager.backend.RegisterUserDetails.RegisterUserDetails(RegisterUserDetails.java:70)
at org.apache.jsp.mainpage_jsp._jspService(mainpage_jsp.java:82)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
at javax.servlet.http.HttpServlet.service(Htt
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
at org.mortbay.jetty.servlet.ServletHandler $ CachedChain.doFilter(ServletHandler。
at com.googlecode.objectify.cache.AsyncCacheFilter.doFilter(AsyncCacheFilter.java:59)
at com.googlecode.objectify.ObjectifyFilter.doFilter(ObjectifyFilter.java:49)
。在org.mortbay.jetty.servlet.ServletHandler $ CachedChain.doFilter(ServletHandler.java:1157)
在com.google.apphosting.utils.servlet.ParseBlobUploadFilter.doFilter(ParseBlobUploadFilter.java:125)
at org.mortbay.jetty.servlet.ServletHandler $ CachedChain.doFilter(ServletHandler.java:1157)
at com.google.apphosting.runtime.jetty.SaveSessionFilter.doFilter(SaveSessionFilter.java:37)
。在org.mortbay.jetty.servlet.ServletHandler $ CachedChain.doFilter(ServletHandler.java:1157)
在com.google.apphosting.utils.servlet.JdbcMySqlConnectionCleanupFilter.doFilter(JdbcMySqlConn ectionCleanupFilter.java:60)
在org.mortbay.jetty.servlet.ServletHandler $ CachedChain.doFilter(ServletHandler.java:1157)
在com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter( TransactionCleanupFilter.java:50)
在org.mortbay.jetty.servlet.ServletHandler $ CachedChain.doFilter(ServletHandler.java:1157)
在org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler。 java:388)
at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
在com.google.apphosting.runtime.jetty.AppVersionHandlerMap.handle(AppVersionHandlerMap.java:260)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at org .mortbay.jetty.Server.h在org.mortbay.jetty.HttpConnection $ RequestHandler.headerComplete(HttpConnection.java: 923)
at com.google.apphosting.runtime.jetty.RpcRequestParser.parseAvailable(RpcRequestParser.java:78)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
,位于com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest(JettyServletEngineAdapter.java:148)
,位于com.google.apphosting.runtime.JavaRuntime $ RequestRunnable.run(JavaRuntime.java:468)
at com.google.tracing.TraceContext $ TraceContextRunnable.runInContext(TraceContext.java:439)
at com.google.tracing.TraceContext $ TraceContextRunnable $ 1.run(TraceContext.java:446)
at com.google.tracing.CurrentContext.runInContext(CurrentContext.java:256)
com.google.tracing.TraceContext $ AbstractTraceContextCallback.runInInheritedContextNoUnref(TraceCon text.java:310)
,位于com.google.tracing.TraceContext $ AbstractTraceContextCallback.runInInheritedContext(TraceContext.java:302)
,位于com.google.tracing.TraceContext $ TraceContextRunnable.run(TraceContext.java: 443)
at com.google.apphosting.runtime.ThreadGroupPool $ PoolEntry.run(ThreadGroupPool.java:235)
at java.lang.Thread.run(Thread.java:745)
16:24:13.781
从servlet未捕获的异常
java.security.AccessControlException:access denied(java.lang.RuntimePermissionmodifyThreadGroup)$ b $ at java.security.AccessControlContext.checkPermission( AccessControlContext.java:382)
at java.security.AccessController.checkPermission(AccessController.java:572)$ b $ at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
at com .google.apphosting.runtime.security.CustomSecurityManager.checkPermission(CustomSecurityManager.java:55)
,位于com.google.apphosting.runtime.security.CustomSecurityManager.checkAcces s(CustomSecurityManager.java:136)
at java.lang.ThreadGroup.checkAccess(ThreadGroup.java:315)
at java.lang.Thread.init(Thread.java:391)
在java.lang.Thread.init(Thread.java:349)
在java.lang.Thread。< init>(Thread.java:532)
at org.quartz.simpl.SimpleThreadPool $ WorkerThread。< init>(SimpleThreadPool.java:498)
at org.quartz.simpl.SimpleThreadPool $ WorkerThread。< init>(SimpleThreadPool.java:498)
at org.quartz.simpl。 SimpleThreadPool.createWorkerThreads(SimpleThreadPool.java:288)
在org.quartz.simpl.SimpleThreadPool.initialize(SimpleThreadPool.java:277)
在org.quartz.impl.StdSchedulerFactory.instantiate(StdSchedulerFactory.java:在org.quartz.impl.StdSchedulerFactory.getScheduler(StdSchedulerFactory.java:1502 1273)

在org.quartz.impl.StdSchedulerFactory.getDefaultScheduler(StdSchedulerFactory.java:1518)
。在COM .tiyaFdManager.backend.SimpleTrigger.SimpleTriggerNotification(硅mpleTrigger.java:31)
at com.tiyaFdManager.backend.RegisterUserDetails.RegisterUserDetails(RegisterUserDetails.java:70)
at org.apache.jsp.mainpage_jsp._jspService(mainpage_jsp.java:82)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.mortbay .jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
at org.mortbay.jetty.servlet.ServletHandler $ CachedChain.doFilter(ServletHandler.java:1166)
at com.googlecode.objectify .cache.AsyncCacheFilter.doFilter(AsyncCacheFilter.java:59)
在com.googlecode.objectify.ObjectifyFilter.doFilter(ObjectifyFilter.java:49)
在org.mortbay.jetty.servlet.ServletHandler $ CachedChain .doFilter(ServletHandler.java:1157)
在com.google.apphosting.utils.servlet.ParseBlobUploadFilter.doFilter(ParseBlobUploadFilter.java:125)
在org.mortbay.jetty.servlet.ServletHandler $ CachedChain .doFil ter(ServletHandler.java:1157)
at com.google.apphosting.runtime.jetty.SaveSessionFilter.doFilter(SaveSessionFilter.java:37)
at org.mortbay.jetty.servlet.ServletHandler $ CachedChain。的doFilter(ServletHandler.java:1157)
处org.mortbay.jetty.servlet.ServletHandler $ CachedChain com.google.apphosting.utils.servlet.JdbcMySqlConnectionCleanupFilter.doFilter(JdbcMySqlConnectionCleanupFilter.java:60)
。的doFilter(ServletHandler.java:1157)
处org.mortbay.jetty.servlet.ServletHandler $ CachedChain com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:50)
。 doFilter(ServletHandler.java:1157)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388)
at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler。 java:216)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
at org.mortbay.jetty.handler.ContextHandler.handle(Co
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.handle(AppVersionHandlerMap。 java:260)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at org.mortbay.jetty.Server.handle(Server.java:326)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
at org.mortbay.jetty.HttpConnection $ RequestHandler.headerComplete(HttpConnection.java:923)
at com.google .apphosting.runtime.jetty.RpcRequestParser.parseAvailable(RpcRequestParser.java:78)
位于org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
位于com.google.apphosting.runtime .jetty.JettyServletEngineAdapter.serviceRequest(JettyServletEngineAdapter.java:148)
at com.google.apphosting.runtime.JavaRuntime $ RequestRunnable.run(JavaRuntime.java:468)
at com.google.tracing.TraceContext $ TraceConte xtRunnable.runInContext(TraceContext.java:439)
at com.google.tracing.TraceContext $ TraceContextRunnable $ 1.run(TraceContext.java:446)
at com.google.tracing.CurrentContext.runInContext(CurrentContext的.java:256)
在com.google.tracing.TraceContext $ AbstractTraceContextCallback.runInInheritedContextNoUnref(TraceContext.java:310)
在com.google.tracing.TraceContext $ AbstractTraceContextCallback.runInInheritedContext(TraceContext.java:302 )
at com.google.tracing.TraceContext $ TraceContextRunnable.run(TraceContext.java:443)
at com.google.apphosting.runtime.ThreadGroupPool $ PoolEntry.run(ThreadGroupPool.java:235)
at java.lang.Thread.run(Thread.java:745)

任何人都可以帮忙me ???



我的代码:

  package com.tiyaFdManager .backend; 

import org.quartz.CronScheduleBuilder; import org.quartz.CronTrigger;进口org.quartz.JobDetail;进口org.quartz.Scheduler; import org.quartz.SchedulerException; import org.quartz.impl.StdSchedulerFactory;

import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.logging.Level; import java.util.logging.Logger;

import static org.quartz.JobBuilder.newJob; import static org.quartz.TriggerBuilder.newTrigger;


/ ** *由Coko Tiya于2016年4月20日创建。 * /公共类SimpleTrigger {
日期startDate,endDate;
记录器日志;
public void SimpleTriggerNotification(String startDateStr,String endDateStr){
Scheduler scheduler = null;
log = Logger.getLogger(RegisterUserDetails.class.getName());
log.setLevel(Level.INFO);
尝试{
scheduler = StdSchedulerFactory.getDefaultScheduler();


JobDetail job = newJob(pushNotificationJob.class)
.withIdentity(cronJob,testJob)
.build();

String startDateStr1 =20/04/2016 16:00:00.0;
String endDateStr1 =20/04/2016 17:00:00.0;


try {
startDate = new SimpleDateFormat(dd / MM / yyyy HH:mm:ss.S)。parse(startDateStr1);
endDate = new SimpleDateFormat(dd / MM / yyyy HH:mm:ss.S)。parse(endDateStr1);
} catch(ParseException e){
e.printStackTrace();


$ b CronTrigger cronTrigger = newTrigger()
.withIdentity(trigger1,testJob)
.startAt(startDate)
.withSchedule(CronScheduleBuilder.cronSchedule(0 0 12 19 1/3?*).withMisfireHandlingInstructionDoNothing())
.endAt(endDate)
.build();

scheduler.scheduleJob(job,cronTrigger);
scheduler.start();
} catch(SchedulerException e){
e.printStackTrace();
log.info(getMessage+ e.getMessage());

}

}}

和i我称之为:

  SimpleTrigger mSimpleTrigger = new SimpleTrigger(); 
mSimpleTrigger.SimpleTriggerNotification(dat,matdate);

请帮我卡住了。我不明白这个问题。这个servelet问题是什么??

解决方案

Appengine对 cron ,它运行在分布式环境中。你应该使用它。



这个失败的原因是,appengine有一个你的应用程序可以访问的Java类的白名单,并创建一个线程(使用Quartz使用的API)是不允许的。

在后台线程上运行的定时作业在此环境下不起作用,实例可以随意上下移动,重要的是您无法知道有多少节点在任何时间点都在运行。


When i used quartz trigger in backend java i am getting this error:

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.checkPermission(CustomSecurityManager.java:55)
    at com.google.apphosting.runtime.security.CustomSecurityManager.checkAccess(CustomSecurityManager.java:136)
    at java.lang.ThreadGroup.checkAccess(ThreadGroup.java:315)
    at java.lang.Thread.init(Thread.java:391)
    at java.lang.Thread.init(Thread.java:349)
    at java.lang.Thread.<init>(Thread.java:532)
    at org.quartz.simpl.SimpleThreadPool$WorkerThread.<init>(SimpleThreadPool.java:510)
    at org.quartz.simpl.SimpleThreadPool$WorkerThread.<init>(SimpleThreadPool.java:498)
    at org.quartz.simpl.SimpleThreadPool.createWorkerThreads(SimpleThreadPool.java:288)
    at org.quartz.simpl.SimpleThreadPool.initialize(SimpleThreadPool.java:277)
    at org.quartz.impl.StdSchedulerFactory.instantiate(StdSchedulerFactory.java:1273)
    at org.quartz.impl.StdSchedulerFactory.getScheduler(StdSchedulerFactory.java:1502)
    at org.quartz.impl.StdSchedulerFactory.getDefaultScheduler(StdSchedulerFactory.java:1518)
    at com.tiyaFdManager.backend.SimpleTrigger.SimpleTriggerNotification(SimpleTrigger.java:31)
    at com.tiyaFdManager.backend.RegisterUserDetails.RegisterUserDetails(RegisterUserDetails.java:70)
    at org.apache.jsp.mainpage_jsp._jspService(mainpage_jsp.java:82)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166)
    at com.googlecode.objectify.cache.AsyncCacheFilter.doFilter(AsyncCacheFilter.java:59)
    at com.googlecode.objectify.ObjectifyFilter.doFilter(ObjectifyFilter.java:49)
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
    at com.google.apphosting.utils.servlet.ParseBlobUploadFilter.doFilter(ParseBlobUploadFilter.java:125)
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
    at com.google.apphosting.runtime.jetty.SaveSessionFilter.doFilter(SaveSessionFilter.java:37)
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
    at com.google.apphosting.utils.servlet.JdbcMySqlConnectionCleanupFilter.doFilter(JdbcMySqlConnectionCleanupFilter.java:60)
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
    at com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:50)
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
    at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388)
    at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
    at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
    at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
    at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
    at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.handle(AppVersionHandlerMap.java:260)
    at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
    at org.mortbay.jetty.Server.handle(Server.java:326)
    at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
    at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:923)
    at com.google.apphosting.runtime.jetty.RpcRequestParser.parseAvailable(RpcRequestParser.java:78)
    at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
    at com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest(JettyServletEngineAdapter.java:148)
    at com.google.apphosting.runtime.JavaRuntime$RequestRunnable.run(JavaRuntime.java:468)
    at com.google.tracing.TraceContext$TraceContextRunnable.runInContext(TraceContext.java:439)
    at com.google.tracing.TraceContext$TraceContextRunnable$1.run(TraceContext.java:446)
    at com.google.tracing.CurrentContext.runInContext(CurrentContext.java:256)
    at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContextNoUnref(TraceContext.java:310)
    at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContext(TraceContext.java:302)
    at com.google.tracing.TraceContext$TraceContextRunnable.run(TraceContext.java:443)
    at com.google.apphosting.runtime.ThreadGroupPool$PoolEntry.run(ThreadGroupPool.java:235)
    at java.lang.Thread.run(Thread.java:745)
16:24:13.781
Uncaught exception from servlet
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.checkPermission(CustomSecurityManager.java:55)
    at com.google.apphosting.runtime.security.CustomSecurityManager.checkAccess(CustomSecurityManager.java:136)
    at java.lang.ThreadGroup.checkAccess(ThreadGroup.java:315)
    at java.lang.Thread.init(Thread.java:391)
    at java.lang.Thread.init(Thread.java:349)
    at java.lang.Thread.<init>(Thread.java:532)
    at org.quartz.simpl.SimpleThreadPool$WorkerThread.<init>(SimpleThreadPool.java:510)
    at org.quartz.simpl.SimpleThreadPool$WorkerThread.<init>(SimpleThreadPool.java:498)
    at org.quartz.simpl.SimpleThreadPool.createWorkerThreads(SimpleThreadPool.java:288)
    at org.quartz.simpl.SimpleThreadPool.initialize(SimpleThreadPool.java:277)
    at org.quartz.impl.StdSchedulerFactory.instantiate(StdSchedulerFactory.java:1273)
    at org.quartz.impl.StdSchedulerFactory.getScheduler(StdSchedulerFactory.java:1502)
    at org.quartz.impl.StdSchedulerFactory.getDefaultScheduler(StdSchedulerFactory.java:1518)
    at com.tiyaFdManager.backend.SimpleTrigger.SimpleTriggerNotification(SimpleTrigger.java:31)
    at com.tiyaFdManager.backend.RegisterUserDetails.RegisterUserDetails(RegisterUserDetails.java:70)
    at org.apache.jsp.mainpage_jsp._jspService(mainpage_jsp.java:82)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166)
    at com.googlecode.objectify.cache.AsyncCacheFilter.doFilter(AsyncCacheFilter.java:59)
    at com.googlecode.objectify.ObjectifyFilter.doFilter(ObjectifyFilter.java:49)
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
    at com.google.apphosting.utils.servlet.ParseBlobUploadFilter.doFilter(ParseBlobUploadFilter.java:125)
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
    at com.google.apphosting.runtime.jetty.SaveSessionFilter.doFilter(SaveSessionFilter.java:37)
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
    at com.google.apphosting.utils.servlet.JdbcMySqlConnectionCleanupFilter.doFilter(JdbcMySqlConnectionCleanupFilter.java:60)
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
    at com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:50)
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
    at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388)
    at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
    at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
    at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
    at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
    at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.handle(AppVersionHandlerMap.java:260)
    at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
    at org.mortbay.jetty.Server.handle(Server.java:326)
    at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
    at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:923)
    at com.google.apphosting.runtime.jetty.RpcRequestParser.parseAvailable(RpcRequestParser.java:78)
    at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
    at com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest(JettyServletEngineAdapter.java:148)
    at com.google.apphosting.runtime.JavaRuntime$RequestRunnable.run(JavaRuntime.java:468)
    at com.google.tracing.TraceContext$TraceContextRunnable.runInContext(TraceContext.java:439)
    at com.google.tracing.TraceContext$TraceContextRunnable$1.run(TraceContext.java:446)
    at com.google.tracing.CurrentContext.runInContext(CurrentContext.java:256)
    at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContextNoUnref(TraceContext.java:310)
    at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContext(TraceContext.java:302)
    at com.google.tracing.TraceContext$TraceContextRunnable.run(TraceContext.java:443)
    at com.google.apphosting.runtime.ThreadGroupPool$PoolEntry.run(ThreadGroupPool.java:235)
    at java.lang.Thread.run(Thread.java:745)

Can anyone help me???

My code:

package com.tiyaFdManager.backend;

import org.quartz.CronScheduleBuilder; import org.quartz.CronTrigger; import org.quartz.JobDetail; import org.quartz.Scheduler; import org.quartz.SchedulerException; import org.quartz.impl.StdSchedulerFactory;

import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.logging.Level; import java.util.logging.Logger;

import static org.quartz.JobBuilder.newJob; import static org.quartz.TriggerBuilder.newTrigger;


/**  * Created by Coko Tiya on 4/20/2016.  */ public class SimpleTrigger {
    Date startDate, endDate;
    Logger log;
    public void SimpleTriggerNotification(String startDateStr, String endDateStr){
        Scheduler scheduler = null;
        log = Logger.getLogger(RegisterUserDetails.class.getName());
        log.setLevel(Level.INFO);
        try {
            scheduler = StdSchedulerFactory.getDefaultScheduler();


        JobDetail job = newJob(pushNotificationJob.class)
                .withIdentity("cronJob", "testJob")
                .build();

        String startDateStr1 = "20/04/2016 16:00:00.0";
        String endDateStr1 = "20/04/2016 17:00:00.0";


        try {
            startDate = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss.S").parse(startDateStr1);
            endDate = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss.S").parse(endDateStr1);
        } catch (ParseException e) {
            e.printStackTrace();
        }


        CronTrigger cronTrigger = newTrigger()
                .withIdentity("trigger1", "testJob")
                .startAt(startDate)
                .withSchedule(CronScheduleBuilder.cronSchedule("0 0 12 19 1/3 ? * ").withMisfireHandlingInstructionDoNothing())
                .endAt(endDate)
                .build();

        scheduler.scheduleJob(job, cronTrigger);
        scheduler.start();
        } catch (SchedulerException e) {
            e.printStackTrace();
            log.info("getMessage" + e.getMessage());

        }

    } }

and i am calling this as:

 SimpleTrigger mSimpleTrigger = new SimpleTrigger();
 mSimpleTrigger.SimpleTriggerNotification(dat,matdate);

please help i am stuck. I didn't understand the issue..what is this servelet issue??

解决方案

Appengine had first class support for cron, which runs in a distributed context. You should use that.

The reason this fails is that appengine has a whitelist of Java classes your app can access, and creating a thread (using the API Quartz is using) is not permitted.

A timed job running on a background thread won't work in this environment, instances can come up and down as they please, and importantly you can't know how many nodes are running at any point in time.

这篇关于security.AccessControlException错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆