Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Weld Ken Gullaksen & Jon Vassbø
Producers <ul><li>Producer methods </li></ul><ul><ul><li>Kilde for objekt som skal injectes (må ikke være fra bean) </li><...
Producers
Producers
Producers
Feil man vil støte på <ul><li>Unsatisfied Dependency : har ikke tilgjengeliggjort det du prøver å injisere </li></ul><ul><...
Qualifiers <ul><li>Løser Ambigous Depepency </li></ul><ul><li>Tilgang til InjectionPoint Metadata </li></ul>
Qualifers
Qualifers
Interceptors <ul><li>Basert på Java Interceptor spec </li></ul><ul><li>Mer sofistikert, semantisk, annotasjonsbasert tilnæ...
Decorators <ul><li>Fungerer som en Interceptor, men snapper kun opp invokeringer fra ett bestemt interface </li></ul><ul><...
Events <ul><li>Event observe pattern </li></ul><ul><li>Typesafe </li></ul>
Events <ul><li>Kan brukes med Qualifers </li></ul>
Stereotypes <ul><li>Kan lage egne stereotype annotasjoner, for å forenkle annotasjon på beans </li></ul>
Java EE <ul><li>Hvordan passer Weld sammen med andre Java EE 6 teknologier </li></ul><ul><li>Weld sammen med Servlet 3 </l...
Java EE
Java EE
Upcoming SlideShare
Loading in …5
×

Weld lightningtalk - Know IT Iceland 2010

1,347 views

Published on

Slides for lightning talk to be held at Know IT annual conference, Iceland 2010

Published in: Technology, Travel
  • Be the first to comment

  • Be the first to like this

Weld lightningtalk - Know IT Iceland 2010

  1. 1. Weld Ken Gullaksen & Jon Vassbø
  2. 2. Producers <ul><li>Producer methods </li></ul><ul><ul><li>Kilde for objekt som skal injectes (må ikke være fra bean) </li></ul></ul><ul><ul><li>Objekttypen kan variere runtime </li></ul></ul><ul><ul><li>Objekt trenger spesiell initialisering som ikke bean constructor tar seg av </li></ul></ul><ul><li>Gir mulighet til </li></ul><ul><ul><li>Tilgjengeliggjøre JPA entitet som bean </li></ul></ul><ul><ul><li>Tilgjengeliggjøre hvilken som helst JDK klasse som bean </li></ul></ul><ul><ul><li>Definere flere beansmed forskjellig scope eller initialisering for samme implementasjonsklasse </li></ul></ul><ul><ul><li>Variere implementasjon av bean runtime </li></ul></ul>
  3. 3. Producers
  4. 4. Producers
  5. 5. Producers
  6. 6. Feil man vil støte på <ul><li>Unsatisfied Dependency : har ikke tilgjengeliggjort det du prøver å injisere </li></ul><ul><li>Injection point has unstatisfied dependencies. Injection point: field no.knowit.welders.spotiweld.SpotifyWeb.user; Qualifiers: [] </li></ul><ul><li>Ambigous Dependency : har for mange bønner tilgjengeliggjort </li></ul><ul><li>Injection point has ambiguous dependencies. Injection point: field no.knowit.welders.spotiweld.SpotifyWeb.user; Qualifiers: []; Possible dependencies: org.jboss.weld.bean-flat-ProducerMethod-no.knowit.welders.spotiweld.producers.FacesContextProducer.getUser2(), org.jboss.weld.bean-flat-ProducerMethod-no.knowit.welders.spotiweld.producers.FacesContextProducer.getUser1() </li></ul>
  7. 7. Qualifiers <ul><li>Løser Ambigous Depepency </li></ul><ul><li>Tilgang til InjectionPoint Metadata </li></ul>
  8. 8. Qualifers
  9. 9. Qualifers
  10. 10. Interceptors <ul><li>Basert på Java Interceptor spec </li></ul><ul><li>Mer sofistikert, semantisk, annotasjonsbasert tilnærming </li></ul><ul><li>Business method interception </li></ul><ul><li>Lifecycle callback interception </li></ul><ul><li>Timeout method interception (EJB) </li></ul>
  11. 11. Decorators <ul><li>Fungerer som en Interceptor, men snapper kun opp invokeringer fra ett bestemt interface </li></ul><ul><li>Er en bean (kan være abstract) som implementerer metodene fra interfacet den skal snappe opp kall fra </li></ul>
  12. 12. Events <ul><li>Event observe pattern </li></ul><ul><li>Typesafe </li></ul>
  13. 13. Events <ul><li>Kan brukes med Qualifers </li></ul>
  14. 14. Stereotypes <ul><li>Kan lage egne stereotype annotasjoner, for å forenkle annotasjon på beans </li></ul>
  15. 15. Java EE <ul><li>Hvordan passer Weld sammen med andre Java EE 6 teknologier </li></ul><ul><li>Weld sammen med Servlet 3 </li></ul><ul><ul><li>From Real Wordl Java EE Patterns </li></ul></ul><ul><ul><li>Servlets are stateless, pooled components, so the Dependency Injection here is only limited to the stateless session beans. The injection of a stateful session bean into a Servlet would make it sharable across different browers. Even worse, the stateful session bean would be accessed concurrently, which is not allowed and would result in the exception javax.ejb.ConcurrentAccessException </li></ul></ul><ul><li>Weld to the rescue! (Weld reference) </li></ul><ul><ul><li>Since instances of servlets are shared across all incoming threads, the bean client proxy takes care of routing method invocations from the servlet to the correct instances of Credentials and Login for the current request and HTTP session. </li></ul></ul>
  16. 16. Java EE
  17. 17. Java EE

×