Java use-class getting called twice

bilala23933647

05-05-2020

Dear members,

 

I'm using AEM 6.4.4 and using wcm-use along with it. The issue is that my use-class activate() method is getting called twice. Anyone has faced this issue before? I tried debugging it but no luck how it's happening. Any help would be really appreciated.

 

Thanks,

Bilal.

View Entire Topic

ArpitVarshney

MVP

05-05-2020

Hi @bilala23933647 

 

There must be issue in your custom code as there is no such issue identified in AEM OOB.

You need to debug your code or share your code(HTL+Java) sample for better understanding.

 

Regards,

Arpit

Thank you Arpit, for your response. I tried debugging it but the only clue I got is that my activate() method got called twice 😞

Here are my files for your reference:

 

<sly data-sly-use.commonutilobj="${'com.mysite.aem.core.use.CommonUtilUse'}"/>
<div id="${commonutilobj.componentId}" data-tracking-event-label="${commonutilobj.componentLabel}" class="jumbotron ${!properties.backgroundColor ? '': '{0}{1}' @format=[properties.backgroundColor,'-bg']} ${properties.paddingTop} ${properties.paddingBottom} ${properties.alwaysShowImg ? 'alwaysImg' : ''} ${!properties.fileReferencebckgroundimage ? '' : '{0}{1}{2}' @ format=['backgroundImg-',properties.horizontalAlign, properties.verticalAlign]} ${properties.alignment}" style="background-image: url('${properties.fileReferencebckgroundimage @ context='uri'}')"> 
    <div class="wrapper">
		<div class="row" data-sly-test="${properties.H3Title || properties.H5Eyebrow || properties.leadPara}">
			<div class="col-md-8 ${properties.alignment=='text-center'? 'mx-auto':''}">
				<h5 data-sly-test="${properties.H5Eyebrow}" class="alt ${properties.H5EyebrowColor}">${properties.H5Eyebrow ='unsafe'}</h5>
				<h3 data-sly-test="${properties.H3Title}" class="${properties.H3TitleColor}"
					data-sly-use.supuse="${'com.mysite.aem.core.components.use.SuperScriptUse' @ param=properties.H3Title}">${supuse.highlight ='unsafe'}</h3>
				<p data-sly-test="${properties.leadPara}" class="lead2 ${properties.leadParaColor}">${properties.leadPara ='unsafe'}</p>
			</div>
		</div>
	</div>
</div>

 

 

 

wcm-use-error.PNG

Hi @bilala23933647 

 

I don't see any reason why your activate method is calling twice.

You are using two wcmuse classes in HTL. Can you clarify which one's activate method is getting called twice? and also make sure that in your java code you're not calling activate method manually from another method.

 

Regards,

Arpit

 

CommonUtilUse is the WCMUse that I'm talking about. It gets called twice. I removed other pieces from the html file so that only my < sly data-sly-use.commonutilobj ="${'com.mysite.aem.core.use.CommonUtilUse'}" /> gets called. Still I see it getting called twice. However I' m not calling the activate method in this java class/any other java class 😞

@bilala23933647 As you already mentioned that it is only happening for CommonUtilUse class and not for the other one which confirms that there is an issue in your custom code, not an issue AEM known issue.

Whatever code you have shared there is no such code that confirms that it is getting called twice. You need to check and debug your whole code to identify the issue.

 

Regards,

Arpit

Thank you @ArpitVarshney, but CommonUtilUse is called only once from this component on this html. I have created a page where there's only one component, this one and then i'm seeing it getting called twice. I have, however other components which use the same java class but if I include them on my page, number of calls further increase in multiple of 2.