Oscar Bou created ISIS-597:
------------------------------

             Summary: 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
            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)

Reply via email to