2013-07-24 19 views
8

'da dağıtıldığında çalışmaz Grails'i kullanarak geliştirilmiş bir web uygulamasına sahibim. Ben Grails için quartz1.0-RC9 eklentisi kullanarak her 5 dakika boyunca DB bir tablo tarar bir arka plan işlemi uygulamak için çalışıyorum.Grails kuvars eklentisi Tomcat

Gerçek mantığı kodlamayı denemeden önce, eklentiyi kuvars için yeni olduğum şekilde kullanmayı öğreniyorum. Bu yüzden "hai" mesajını 5 saniyede bir geçerli zaman damgasıyla basan bir iş yarattım.

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 
    } 
} 

Ve QuartzConfig.groovy komutunu grails run-app kullanarak çalıştırdığınızda, bu iyi çalışır

quartz { 
    autoStartup = true 
    jdbcStore = false 
    waitForJobsToCompleteOnShutdown = true 
    exposeSchedulerInRepository = false 

    props { 
     scheduler.skipUpdateCheck = true 
    } 
} 

environments { 
    test { 
     quartz { 
      autoStartup = true 
     } 
    } 
    production { 
     quartz { 
      autoStartup = true 
     } 
    } 
} 

olduğunu. Ancak, grails prod war komutunu kullanarak bir savaş oluşturulduğunda ve Tomcat’te konuşlandırıldığında hiçbir şey işe yaramıyor. Index.html sayfası bile yüklenmiyor, Http-404 hatası veriyor.

Bu eklentiyi, eklenti kategorisindeki belgelerinde belirtildiği gibi BuilConfig.groovy içinde başvuruda bulunuyorum. Ancak, hiçbir şey işe yaramıyor. Ancak, hiçbir şey işe yaramıyor.

Ardından, yalnızca yukarıda bahsedilen kuvars kodundan başka hiçbir şeye sahip olmayan ve grails prod war kullanarak bir savaş yaratan yeni bir Grails projesi oluşturdum. Bu Tomcat ile iyi çalışıyor.

Zaten mevcut grails uygulamasında bir iş yaratırken ben eksik ne

Tomcat 6
Grails 2.0.1
quartz 1.0-RC9

kullanıyorum?

Lütfen birisi bana yardım edin.

Bu konuda bazı temel işler yaptım. grails dev-war benim grails uygulaması "Timeprocess" savaşını oluşturma ve tomcat6 altında dağıtma, ben

Jul 29, 2013 3:35:27 PM org.apache.catalina.core.ApplicationContext log 
INFO: Initializing Spring root WebApplicationContext 
Jul 29, 2013 3:35:32 PM org.apache.catalina.core.StandardContext listenerStart 
SEVERE: Exception sending context initialized event to listener instance of class org.codehaus.groovy.grails.web.context.GrailsContextLoaderListener 
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'pluginManager' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.RuntimeException: Unable to locate constructor with Class parameter for class grails.plugins.quartz.DefaultGrailsJobClass 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1455) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) 
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294) 
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193) 
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:567) 
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:913) 
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:464) 
    at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:384) 
    at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:283) 
    at org.codehaus.groovy.grails.web.context.GrailsContextLoader.initWebApplicationContext(GrailsContextLoader.java:66) 
    at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:111) 
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4135) 
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4630) 
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791) 
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771) 
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:546) 
    at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:905) 
    at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:740) 
    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:500) 
    at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1277) 
    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:321) 
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) 
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053) 
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:785) 
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045) 
    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:445) 
    at org.apache.catalina.core.StandardService.start(StandardService.java:519) 
    at org.apache.catalina.core.StandardServer.start(StandardServer.java:710) 
    at org.apache.catalina.startup.Catalina.start(Catalina.java:581) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
    at java.lang.reflect.Method.invoke(Unknown Source) 
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289) 
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414) 
Caused by: java.lang.RuntimeException: Unable to locate constructor with Class parameter for class grails.plugins.quartz.DefaultGrailsJobClass 
    at org.codehaus.groovy.grails.commons.ArtefactHandlerAdapter.newArtefactClass(ArtefactHandlerAdapter.java:113) 
    at org.codehaus.groovy.grails.commons.DefaultGrailsApplication.addArtefact(DefaultGrailsApplication.java:894) 
    at org.codehaus.groovy.grails.commons.DefaultGrailsApplication.addArtefact(DefaultGrailsApplication.java:615) 
    at org.codehaus.groovy.grails.commons.DefaultGrailsApplication.configureLoadedClasses(DefaultGrailsApplication.java:326) 
    at org.codehaus.groovy.grails.commons.DefaultGrailsApplication.initialise(DefaultGrailsApplication.java:825) 
    at org.codehaus.groovy.grails.plugins.GrailsPluginManagerFactoryBean.afterPropertiesSet(GrailsPluginManagerFactoryBean.java:110) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1514) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1452) 
    ... 37 more 
Caused by: java.lang.reflect.InvocationTargetException 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) 
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) 
    at java.lang.reflect.Constructor.newInstance(Unknown Source) 
    at org.codehaus.groovy.grails.commons.ArtefactHandlerAdapter.newArtefactClass(ArtefactHandlerAdapter.java:104) 
    ... 44 more 
Caused by: java.lang.IncompatibleClassChangeError: Implementing class 
    at grails.plugins.quartz.config.TriggersConfigBuilder.createTrigger(TriggersConfigBuilder.groovy:74) 
    at grails.plugins.quartz.config.TriggersConfigBuilder.createNode(TriggersConfigBuilder.groovy:215) 
    at grails.plugins.quartz.config.TriggersConfigBuilder.createNode(TriggersConfigBuilder.groovy:208) 
    at Timeprocess.ScheduleScanJob$__clinit__closure1.doCall(ScheduleScanJob.groovy:7) 
    at grails.plugins.quartz.config.TriggersConfigBuilder.build(TriggersConfigBuilder.groovy:52) 
    at grails.plugins.quartz.DefaultGrailsJobClass.evaluateTriggers(DefaultGrailsJobClass.java:58) 
    at grails.plugins.quartz.DefaultGrailsJobClass.<init>(DefaultGrailsJobClass.java:48) 
Jul 29, 2013 3:35:34 PM org.apache.catalina.core.ApplicationContext log 
INFO: ContextListener: contextInitialized() 
Jul 29, 2013 3:35:34 PM org.apache.catalina.core.ApplicationContext log 
INFO: SessionListener: contextInitialized() 
Jul 29, 2013 3:36:31 PM org.apache.catalina.core.ApplicationContext log 
INFO: SessionListener: contextDestroyed() 
Jul 29, 2013 3:36:31 PM org.apache.catalina.core.ApplicationContext log 
INFO: ContextListener: contextDestroyed() 

herkes işaret aşımı için buraya yanlışları neler yardım edebilir localhost.txt dosyasında aşağıdaki alıyorum? Ben yapıyor öneririz

+0

aynı kuvars kodu taze uygulamada çalışır altında bulabileceği, .slcache klasörü silmekte ama eski bir değil büyük olasılıkla sorun uygulama ile ve kuvars kodu değil Eski uygulama ile "grails prod run-war" deneyin ve eğer sorun çoğalır. –

+0

Sudhir'den bahsettiğin gibi denedim. Ama hiçbir şey tomcat-out.txt'de hedefin altında değildi. Sadece "Sunucu çalışıyor. 8080: 8080localhost'a göz atın" –

+0

Lütfen ... Birisi bana bu konuda yardımcı oluyorum ... –

cevap

2

a:

grails clean 

ve ayrıca

~/.grails/.slcache 

açısından