1 package ejava.examples.jndidemo.ejb;
2
3 import javax.annotation.PostConstruct;import javax.annotation.Resource;
4
5 import javax.ejb.EJB;
6 import javax.ejb.SessionContext;
7 import javax.ejb.Stateful;
8 import javax.naming.InitialContext;
9 import javax.naming.NamingException;
10 import javax.persistence.EntityManager;
11 import javax.persistence.PersistenceContext;
12 import javax.persistence.PersistenceContextType;
13 import javax.sql.DataSource;
14
15 import ejava.util.jndi.JNDIUtil;
16
17
18
19
20
21
22
23
24
25 @Stateful(name="BakeScheduler")
26
27
28
29
30
31
32
33 @PersistenceContext(unitName="jndidemo",
34 name="persistence/jndidemo",
35 type=PersistenceContextType.EXTENDED)
36 public class BakeSchedulerEJB
37 extends SchedulerBase implements BakeSchedulerRemote {
38
39 public String getName() { return "BakeSchedulerEJB"; }
40
41
42
43
44
45
46 @PersistenceContext(
47 unitName="jndidemo",
48 type=PersistenceContextType.EXTENDED)
49 private EntityManager em;
50
51
52
53
54
55
56 @Resource(name="persistence/jndidemo")
57 private EntityManager em2;
58
59
60
61
62
63 @Resource(mappedName="java:jboss/datasources/ExampleDS")
64 private DataSource ds;
65
66
67
68
69
70 @Resource
71 protected void setSessionContext(SessionContext ctx) {
72 super.ctx = ctx;
73 }
74
75
76
77
78
79 protected CookLocal cook;
80
81
82
83
84
85
86 @EJB(name="ejb/cook")
87 protected CookLocal cook2;
88
89
90
91
92
93 @Resource(name="vals/message")
94 String message;
95
96 @PostConstruct
97 public void init() {
98 log.info("******************* BakeScheduler Created ******************");
99 log.debug("ctx=" + ctx);
100 log.debug("em=" + em);
101 log.debug("em2=" + em2);
102 log.debug("ds=" + ds);
103
104 log.debug("message=" + message);
105 log.debug("cook=" + cook);
106 log.debug("cook2=" + cook2);
107 log.debug("ejb/cook=" + ctx.lookup("ejb/cook"));
108 cook = (CookLocal)ctx.lookup("ejb/cook");
109 try {
110 log.debug(new JNDIUtil().dump(new InitialContext(), "java:comp/env"));
111 } catch (NamingException ex) { log.fatal("" + ex); }
112 }
113 }