AEM调度程序的配置更改?

编程入门 行业动态 更新时间:2024-10-26 22:28:46
本文介绍了AEM调度程序的配置更改?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我正在尝试为项目需求实现简单的调度程序,我的项目正在使用 Adob​​e AEM 。到目前为止,我浏览了Adobe网站并尝试实现所提供的示例,但是没有一个示例更新我的 error.log 文件。

I am trying to implement simple scheduler for my project requirement, my project is using Adobe AEM. As of now I gone through Adobe site and tried to implement the given examples provided but none of them updating my error.log file.

package sling.docu.examples; import com.majesco.logger.service.impl.Logger; import org.apache.felix.scr.annotations.Component; import org.apache.felix.scr.annotations.Service; import org.apache.felix.scr.annotations.Property; import com.majesco.dcfmon.util.CommonConstants; @Component @Service(value = Runnable.class) @Property( name = "scheduler.period", longValue = 10) public class ScheduledPeriodicJob implements Runnable { Logger logger = new Logger().getInstance(CommonConstants.COMMONSERVICE_MODULE_ID); public void run() { logger.debug("#########################################"); logger.debug("*****************************************"); logger.debug("*****************************************"); logger.debug("*****************************************"); logger.debug("******** ScheduledPeriodicJob ***********"); logger.debug("*****************************************"); logger.debug("*****************************************"); logger.debug("*****************************************"); logger.debug("#########################################"); } }

因此,根据此,它应该可以工作

So, according to this, it should work

pom.xml 依赖关系

<?xml version="1.0"?> <project xsi:schemaLocation="maven.apache/POM/4.0.0 maven.apache/xsd/maven-4.0.0.xsd" xmlns="maven.apache/POM/4.0.0" xmlns:xsi="www.w3/2001/XMLSchema-instance"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>com.majesco</groupId> <artifactId>customerportal</artifactId> <version>0.0.1-SNAPSHOT</version> </parent> <groupId>com.majesco</groupId> <artifactId>commonservice</artifactId> <version>0.0.1-SNAPSHOT</version> <name>commonservice</name> <url>maven.apache</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <!-- <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> --> <dependency> <groupId>com.majesco</groupId> <artifactId>objectmodel</artifactId> <version>0.0.1-SNAPSHOT</version> </dependency> <dependency> <groupId>com.majesco</groupId> <artifactId>logger</artifactId> <version>0.0.1-SNAPSHOT</version> </dependency> <!-- Simple Json --> <dependency> <groupId>com.googlecode.json-simple</groupId> <artifactId>json-simple</artifactId> <version>1.1.1</version> </dependency> <dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-mapper-asl</artifactId> <version>1.9.13</version> </dependency> <!-- Hibernate Core API --> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> <version>4.3.5.Final</version> </dependency> <!-- mvnrepository/artifact/org.hibernatemon/hibernate-commons-annotations --> <!-- <dependency> <groupId>org.hibernatemon</groupId> <artifactId>hibernate-commons-annotations</artifactId> <version>4.0.1.Final</version> </dependency> --> <!-- postgresql Driver --> <dependency> <groupId>postgresql</groupId> <artifactId>postgresql</artifactId> <version>9.1-901.jdbc4</version> </dependency> <!-- mvnrepository/artifact/javax.validation/validation-api --> <dependency> <groupId>javax.validation</groupId> <artifactId>validation-api</artifactId> <version>1.1.0.Final</version> </dependency> <dependency> <groupId>org.json</groupId> <artifactId>json</artifactId> <version>20160212</version> </dependency> <!-- EHCache Core APIs --> <!-- <dependency> <groupId>net.sf.ehcache</groupId> <artifactId>ehcache-core</artifactId> <version>2.6.9</version> </dependency> --> <!-- Hibernate EHCache API --> <!-- <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-ehcache</artifactId> <version>4.3.5.Final</version> </dependency> --> <!-- EHCache uses slf4j for logging --> <!-- <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-simple</artifactId> <version>1.7.5</version> </dependency> --> <!-- @log4j2 xml dependency --> <!-- <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api</artifactId> <version>2.0</version> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>2.0</version> </dependency> --> <!-- javax.mail dependency --> <dependency> <groupId>javax.mail</groupId> <artifactId>mail</artifactId> <version>1.4</version> </dependency> <!-- slf4j-api dependency --> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.5</version> </dependency> <!-- slf4j-simple dependency --> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-simple</artifactId> <version>1.7.5</version> </dependency> <!-- pgichecksum dependency --> <dependency> <groupId>com.billdesk.pgidsk</groupId> <artifactId>pgichecksum</artifactId> <version>1.0</version> </dependency> <!-- esbservicesclient dependency --> <dependency> <groupId>esbservices_client</groupId> <artifactId>esbservicesclient</artifactId> <version>0.0.1-SNAPSHOT</version> </dependency> <!-- esbpolicysearchclient dependency --> <dependency> <groupId>esbpolicysearch_client</groupId> <artifactId>esbpolicysearchclient</artifactId> <version>0.0.1-SNAPSHOT</version> </dependency> <!-- esbcustomerserviceclient dependency --> <dependency> <groupId>esbcustomerservice_client</groupId> <artifactId>esbcustomerserviceclient</artifactId> <version>0.0.1-SNAPSHOT</version> </dependency> <!-- esbcustomerserviceclient dependency --> <dependency> <groupId>esbaccountservice_client</groupId> <artifactId>esbaccountserviceclient</artifactId> <version>0.0.1-SNAPSHOT</version> </dependency> <!-- esbgenericserviceclient dependency --> <dependency> <groupId>esbgenericservice_client</groupId> <artifactId>esbgenericserviceclient</artifactId> <version>0.0.1-SNAPSHOT</version> </dependency> <!-- esbgenericintegrationclient dependency --> <dependency> <groupId>genericintegration_client</groupId> <artifactId>esbgenericintegrationclient</artifactId> <version>0.0.1-SNAPSHOT</version> </dependency> <!-- Start pooja added 040817--> <dependency> <groupId>esbusermanagement_client</groupId> <artifactId>esbusermanagementclient</artifactId> <version>0.0.1-SNAPSHOT </version> </dependency> <!-- End pooja added 040817--> <!-- Start pooja added 050917--> <dependency> <groupId>esbrenewalstatus_client</groupId> <artifactId>esbrenewalstatusclient</artifactId> <version>0.0.1-SNAPSHOT </version> </dependency> <!-- End pooja added 050917--> <!-- updateCustomerService<07062018> dependency --> <dependency> <groupId>esbupdatecustomer_service</groupId> <artifactId>esbupdatecustomerservice</artifactId> <version>0.0.1-SNAPSHOT</version> </dependency> <!-- updateCustomerService<07062018> dependency --> <!-- esbdatabasefetchservice dependency --> <dependency> <groupId>esbdatabasefetchservice_client</groupId> <artifactId>esbdatabasefetchservice</artifactId> <version>0.0.1-SNAPSHOT</version> </dependency> <!-- esbdatabasefetchservice dependency --> <!-- base64 commons-codec --> <dependency> <groupId>commons-codec</groupId> <artifactId>commons-codec</artifactId> <version>1.9</version> </dependency> <!-- mvnrepository/artifact/com.google.code.gson/gson --> <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.8.0</version> </dependency> <dependency> <groupId>org.osgi</groupId> <artifactId>org.osgi.core</artifactId> <version>6.0.0</version> </dependency> <dependency> <groupId>org.osgi</groupId> <artifactId>org.osgipendium</artifactId> <version>5.0.0</version> </dependency> <!-- Added for send email functionality --> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.5.2</version> </dependency> <!-- 1574973 start --> <dependency> <groupId>org.apache.felix</groupId> <artifactId>org.apache.felix.scr.annotations</artifactId> <version>1.6.0</version> </dependency> <dependency> <groupId>org.osgi</groupId> <artifactId>osgi.annotation</artifactId> <version>6.0.0</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.osgi</groupId> <artifactId>org.osgi.serviceponent.annotations</artifactId> <version>1.3.0</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.osgi</groupId> <artifactId>org.osgi.service.metatype.annotations</artifactId> <version>1.3.0</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz</artifactId> <version>2.2.1</version> </dependency> <!-- 1574973 end --> </dependencies> <build> <resources> <!-- standard Maven folder --> <resource> <directory>src/main/resources</directory> </resource> <!-- plus root folder --> <resource> <directory>.</directory> <includes> <include>plugin.xml</include> <include>META-INF/*</include> </includes> </resource> </resources> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.5.1</version> <configuration> <source>1.7</source> <target>1.7</target> <compilerArgument>-Xlint:all</compilerArgument> <showWarnings>true</showWarnings> <showDeprecation>true</showDeprecation> </configuration> </plugin> <plugin> <groupId>org.apache.felix</groupId> <artifactId>maven-bundle-plugin</artifactId> <version>2.3.7</version> <configuration> <unpackBundle>true</unpackBundle> <instructions> <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName> <Bundle-Version>${project.version}</Bundle-Version> <!-- <Export-Package>com.majesco.portal.service.*;version=${project.version}</Export-Package> --> <!-- <Import-Package>*</Import-Package> --> <!-- <Import-Package>!*</Import-Package> <Embed-Dependency>*</Embed-Dependency> <Bundle-ClassPath>.</Bundle-ClassPath> --> <!-- <Bundle-ActivationPolicy>lazy</Bundle-ActivationPolicy> --> <!-- <Embed-Dependency>*</Embed-Dependency> --> <Embed-Dependency>!objectmodel,*</Embed-Dependency> <Export-Package>com.majesco.dcfmon.*,com.majesco.dcf.pg.*,com.majesco.dcf.receipt.*,com.unotechsoft.stub.*,stub.unotechsoft.wsdl*,org.apache.http.impl.client*,org.apache.http.ssl*,org.apache.http*,org.apache*,org.datacontract.schemas*</Export-Package> <Import-Package>org.osgi.framework,org.hibernate.*,com.majesco.dcf.pa.json,org.json.*,*;resolution:=optional</Import-Package> <!-- <Export-Package>${export.packages}</Export-Package> --> <!-- <Export-Package>!com.majesco.service.activator,com.majesco.service.*;version=${project.version}</Export-Package> --> <Bundle-Activator>com.majesco.dcfmon.service.activator.CommonServiceBundleActivator</Bundle-Activator> </instructions> </configuration> <extensions>true</extensions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <version>2.10.3</version> <configuration> <show>private</show> <nohelp>true</nohelp> <excludePackageNames>com.majesco.dcfmon.util*,com.majesco.dcfmon.service.activator*,com.majesco.dcfmon.entity*,com.majesco.dcfmon.service.impl*,com.majesco.dcf.pg.entity*,com.majesco.dcf.pg.service*,com.majesco.dcf.pg.util*,com.majesco.dcf.pg.billdesk.impl*,com.majesco.dcf.receipt.util*</excludePackageNames> </configuration> </plugin> </plugins> </build> </project>

是否需要进行其他更改才能使调度程序正常工作?请建议缺少的内容。

Do I need to make any additional changes to make scheduler working? please suggest what is missing.

推荐答案

以下解决方案按要求工作,这里处理了三种情况

Following solution worked as required, here three cases are handled

  • 和 addJob():每分钟执行一次作业
  • 和 addPeriodicJob():每3分钟执行一次作业
  • with fireJobAt():在特定日期(部署日期+延迟30秒)执行作业。

  • with addJob() : executes the job every minute
  • with addPeriodicJob() : executes the job every 3 minutes
  • with fireJobAt() : executes the job at a specific date (date of deployment + delay of 30 seconds)

import java.io.Serializable; import java.util.Date; import java.util.HashMap; import java.util.Map; import org.apache.felix.scr.annotations.Component; import org.apache.felix.scr.annotations.Reference; import org.apache.slingmons.scheduler.Scheduler; import org.osgi.serviceponent.ComponentContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @Component public class ScheduledPeriodicJob { /** Default log. */ protected final Logger log = LoggerFactory.getLogger(this.getClass()); /** The scheduler for rescheduling jobs. */ @Reference private Scheduler scheduler; protected void activate(ComponentContext componentContext) throws Exception { //case 1: with addJob() method: executes the job every minute String schedulingExpression = "0 * * * * ?"; String jobName1 = "case1"; Map<String, Serializable> config1 = new HashMap<String, Serializable>(); boolean canRunConcurrently = true; final Runnable job1 = new Runnable() { public void run() { log.info("\n\nExecuting"); log.info("\n\nExecuting"); log.info("\n\nExecuting"); log.info("\n\nExecuting"); log.info("\n\nExecuting"); log.info("\n\nExecuting"); log.info("\n\nExecuting"); log.info("\n\nExecuting"); log.info("\n\nExecuting"); } }; try { this.scheduler.addJob(jobName1, job1, config1, schedulingExpression, canRunConcurrently); } catch (Exception e) { job1.run(); } //case 2: with addPeriodicJob(): executes the job every 3 minutes String jobName2 = "case2"; long period = 180; Map<String, Serializable> config2 = new HashMap<String, Serializable>(); final Runnable job2 = new Runnable() { public void run() { log.info("\nExecuting 2"); log.info("\nExecuting 2"); log.info("\nExecuting 2"); log.info("\nExecuting 2"); log.info("\nExecuting 2"); log.info("\nExecuting 2"); log.info("\nExecuting 2"); log.info("\nExecuting 2"); } }; try { this.scheduler.addPeriodicJob(jobName2, job2, config2, period, canRunConcurrently); } catch (Exception e) { job2.run(); } //case 3: with fireJobAt(): executes the job at a specific date (date of deployment + delay of 30 seconds) String jobName3 = "case3"; final long delay = 30*1000; final Date fireDate = new Date(); fireDate.setTime(System.currentTimeMillis() + delay); Map<String, Serializable> config3 = new HashMap<String, Serializable>(); final Runnable job3 = new Runnable() { public void run() { log.info("\nExecuting at date: {} with a delay of: {} seconds", fireDate, delay/1000); log.info("\nExecuting at date: {} with a delay of: {} seconds", fireDate, delay/1000); log.info("\nExecuting at date: {} with a delay of: {} seconds", fireDate, delay/1000); log.info("\nExecuting at date: {} with a delay of: {} seconds", fireDate, delay/1000); log.info("\nExecuting at date: {} with a delay of: {} seconds", fireDate, delay/1000); log.info("\nExecuting at date: {} with a delay of: {} seconds", fireDate, delay/1000); log.info("\nExecuting at date: {} with a delay of: {} seconds", fireDate, delay/1000); log.info("\nExecuting at date: {} with a delay of: {} seconds", fireDate, delay/1000); log.info("\nExecuting at date: {} with a delay of: {} seconds", fireDate, delay/1000); log.info("\nExecuting at date: {} with a delay of: {} seconds", fireDate, delay/1000); } }; try { this.scheduler.fireJobAt(jobName3, job3, config3, fireDate); } catch (Exception e) { job3.run(); } } protected void deactivate(ComponentContext componentContext) { log.info("Deactivateddbye!"); } }

下面是 pom.xml

<?xml version="1.0" encoding="UTF-8"?> <project xmlns="maven.apache/POM/4.0.0" xmlns:xsi="www.w3/2001/XMLSchema-instance" xsi:schemaLocation="maven.apache/POM/4.0.0 maven.apache/maven-v4_0_0.xsd "> <modelVersion>4.0.0</modelVersion> <!-- ====================================================================== --> <!-- P A R E N T P R O J E C T D E S C R I P T I O N --> <!-- ====================================================================== --> <parent> <groupId>com.adobe.cq</groupId> <artifactId>schedule</artifactId> <version>1.0-SNAPSHOT</version> </parent> <!-- ====================================================================== --> <!-- P R O J E C T D E S C R I P T I O N --> <!-- ====================================================================== --> <artifactId>schedule-bundle</artifactId> <packaging>bundle</packaging> <name>My Project Bundle</name> <dependencies> <dependency> <groupId>org.osgi</groupId> <artifactId>org.osgipendium</artifactId> </dependency> <dependency> <groupId>org.osgi</groupId> <artifactId>org.osgi.core</artifactId> </dependency> <dependency> <groupId>org.apache.felix</groupId> <artifactId>org.apache.felix.scr.annotations</artifactId> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> </dependency> <dependency> <groupId>javax.mail</groupId> <artifactId>mail</artifactId> <version>1.4</version> </dependency> <dependency> <groupId>com.tagic</groupId> <artifactId>logger</artifactId> <version>0.0.1-SNAPSHOT</version> <scope>system</scope> <systemPath>${project.basedir}/lib/logger-0.0.1-SNAPSHOT.jar</systemPath> </dependency> <dependency> <groupId>com.tagic</groupId> <artifactId>org.apache.slingmons.scheduler</artifactId> <version>0.0.1-SNAPSHOT</version> <scope>system</scope> <systemPath>${project.basedir}/lib/org.apache.slingmons.scheduler-2.3.3-R1232965.jar</systemPath> </dependency> </dependencies> <!-- ====================================================================== --> <!-- B U I L D D E F I N I T I O N --> <!-- ====================================================================== --> <build> <plugins> <plugin> <groupId>org.apache.felix</groupId> <artifactId>maven-scr-plugin</artifactId> <executions> <execution> <id>generate-scr-descriptor</id> <goals> <goal>scr</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.apache.felix</groupId> <artifactId>maven-bundle-plugin</artifactId> <extensions>true</extensions> <configuration> <instructions> <Bundle-SymbolicName>com.adobe.cq.schedule-bundle</Bundle-SymbolicName> </instructions> </configuration> </plugin> <plugin> <groupId>org.apache.sling</groupId> <artifactId>maven-sling-plugin</artifactId> <configuration> <slingUrl>${crx.host}:${crx.port}/apps/myproject/install</slingUrl> <usePut>true</usePut> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <configuration> <excludePackageNames> *.impl </excludePackageNames> </configuration> </plugin> </plugins> </build> </project>

更多推荐

AEM调度程序的配置更改?

本文发布于:2023-11-25 08:02:27,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1628957.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:程序   AEM

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!