Your achievements

Level 1

0% to

Level 2

Tip /
Sign in

Sign in to Community

to gain points, level up, and earn exciting badges like the new
Bedrock Mission!

Learn more

View all

Sign in to view all badges

Who Me Too'd this topic

Avatar

Level 1

We are in process of AEM 6.5 migration, 
Sling model Post construction is not calling in AEM 6.5, Same thing working fine in AEM 6.4 instance.

Post construction will be called, if I add javax.annotation package in export or import package of maven-bundle-plugin, But nested Sling models are not injecting, Nested sling models will be null.

 

Child class:

/**
*
*/
package com.aem.community.core.models;

import javax.annotation.PostConstruct;
import javax.annotation.Resource;
import javax.inject.Inject;
import org.apache.sling.models.annotations.DefaultInjectionStrategy;

import org.apache.sling.models.annotations.Model;

@Model(adaptables = Resource.class, defaultInjectionStrategy = DefaultInjectionStrategy.OPTIONAL)
public class Address {

@inject
private String address;

private String postalcode;

@PostConstruct
protected void init() {
postalcode = "560001";
}

public String getAddress() {
return address;
}

public void setAddress(String address) {
this.address = address;
}

public String getPostalcode() {
return postalcode;
}

public void setPostalcode(String postalcode) {
this.postalcode = postalcode;
}
}


Parent class:

package com.aem.community.core.models;

import javax.annotation.PostConstruct;
import javax.annotation.Resource;
import javax.inject.Inject;

import org.apache.sling.models.annotations.DefaultInjectionStrategy;
import org.apache.sling.models.annotations.Model;

@Model(adaptables = Resource.class, defaultInjectionStrategy = DefaultInjectionStrategy.OPTIONAL)
public class Employee {

@inject
private String name;

@inject
private Address address;

private String email;

@PostConstruct
protected void init() {
email = "test@test.com";
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public Address getAddress() {
return address;
}

public void setAddress(Address address) {
this.address = address;
}

public String getEmail() {
return email;
}

public void setEmail(String email) {
this.email = email;
}
}

Topics

Topics help categorize Community content and increase your ability to discover relevant content.

Who Me Too'd this topic