i want to call a method which is containing applicationContext which works fine when run independently but when i try calling it from a different class appContext.getBean(DataSource.class)
returns null.
public class Action {
private static Logger log = LoggerFactory.getLogger(Action.class);
@Autowired
MessageConfigProperties messageProperties;
@Autowired
AutomatorApp automatorApp;
@Autowired
Apps gapps;
@Autowired
Deploy d;
@Autowired
Deploy depstatusChk;
@Autowired
private ApplicationContext appContext;
@Autowired
CreateSaltFileService createSaltFile;
@Autowired
DeployFactory depFactory;
@Autowired
IMoveAppsService moveAppsService;
@Autowired
IUserEnvironmentService userEnvService;
@Autowired
IEnvironmentService envService;
@Autowired
Session session;
private Logger logger = LoggerFactory.getLogger(Action.class);
private ServletContext context;
@Context
public void setServletContext(ServletContext context) {
System.out.println("servlet context set here");
this.context = context;
}
@POST
@Path("/register/")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
@RequiresRoles("admin")
@RequiresPermissions("automator:register")
public Session register(Session credentials, @BeanParam Session springContext) throws AppException {
System.out.println("into action class");
System.out.println("-->>>" +appContext.getBean(DataSource.class));
appContext.getBean(DataSource.class);
logger.info(messageProperties.getGreetings());
// logger.trace("Inside Session");
System.out.println("Inside Session");
credentials.setDatasource(springContext.getDatasource());
when this Action method is called from
this method agentGroup in different class
@POST
@Produces(MediaType.APPLICATION_JSON)
@ApiOperation(value = "Get List of agent group", response =
AgentGroup.class, responseContainer = "List")
public ArrayList<AgentGroup> agentGroup(Session credentials, @BeanParam Session springContext) throws AppException, ConfigException, InterruptedException {
Session r=objA.register(credentials, springContext);
int sessionId=r.getSessionId();
}