How to invoke any servlet at publish instance in workflow step ? | Adobe Higher Education
Skip to main content
Suraj_Kamdi
Community Advisor
Community Advisor
January 29, 2019

How to invoke any servlet at publish instance in workflow step ?

I want to invoke the custom servlet to perform some action in publish server through custom workflow step. Anyone has idea how to achieve this scenario ?

Ce sujet a été fermé aux réponses.

2 commentaires

smacdonald2008
Level 10
January 29, 2019

Yes - but why not implement a service (as opposed to a Servlet) then you can use @Reference annotation from within your custom step to invoke the Java logic.

Suraj_Kamdi
Community Advisor
Community Advisor
January 29, 2019

as per the acceptance criteria i have to invoke servlet from custom workflow step. Currently i am using CloseableHttpClient closeableHttpClient to invoke servlet.

Suraj Kamdi
Gaurav-Behl
Level 10
January 29, 2019

Based on your project's design and requirements whatever you choose to use (either servlet or service or just a component), the underlying logic would primarily work in same manner -  Get hold of server's runmode and process your custom code.

To get the run mode in server side code -

Slice-CQ/WcmModeModel.java at master · Cognifide/Slice-CQ · GitHub

or use

final WCMMode mode = WCMMode.fromRequest(request);

if (null == mode || WCMMode.DISABLED.equals(mode)) { // do something }

*you would find WCMMode in uber-jar

Create your workflow, register it and use WCMMode to excute it only on publish server. Once everything is done, configure this workflow step in your custom workflow.

Example -

Adobe Experience Manager Help | Invoking Adobe Experience Manager Workflows using the AEM Java API

Hope that helps.

mvip
January 29, 2019