You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@isis.apache.org by "Dan Haywood (JIRA)" <ji...@apache.org> on 2013/11/21 13:30:37 UTC
[jira] [Updated] (ISIS-597) Services still not injected when
entering @PostConstruct methods on a Service
[ https://issues.apache.org/jira/browse/ISIS-597?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Dan Haywood updated ISIS-597:
-----------------------------
Affects Version/s: objectstore-jdo-1.3.0
core-1.3.0
> Services still not injected when entering @PostConstruct methods on a Service
> -----------------------------------------------------------------------------
>
> Key: ISIS-597
> URL: https://issues.apache.org/jira/browse/ISIS-597
> Project: Isis
> Issue Type: Improvement
> Components: Core
> Affects Versions: objectstore-jdo-1.3.0, core-1.3.0
> Reporter: Oscar Bou
> Assignee: Dan Haywood
> Fix For: core-1.4.0
>
>
> Methods annotated with @PostConstruct are invoked before their objects being injected.
> Steps to reproduce:
> As per [1], create a method on a service annotated with @PostConstruct, like this one:
> @PostConstruct
> public void init(final Map<?, ?> props) {
> server.setGlobal("eventOccurrences", this.eventOccurrences);
>
> }
> ....
> // {{ injected: EventOccurrences
> private EventOccurrences eventOccurrences;
> public final void injectEventOccurrences(final EventOccurrences eventOccurrences) {
> this.eventOccurrences = eventOccurrences;
> }
> // }}
> The problem is that when the execution arrives to:
> server.setGlobal("eventOccurrences", this.eventOccurrences);
> this.eventOccurrences is still null... So it has not yet been injected (or instantiated).
> [1] http://isis.apache.org/core/services/initializing-services.html
--
This message was sent by Atlassian JIRA
(v6.1#6144)