1 package org.myorg.encconfig.ejb;
2
3 import javax.annotation.PostConstruct;
4 import javax.annotation.Resource;
5 import javax.ejb.Stateless;
6 import javax.jms.ConnectionFactory;
7 import javax.jms.Topic;
8 import javax.persistence.EntityManager;
9 import javax.persistence.PersistenceContext;
10
11 import org.slf4j.Logger;
12 import org.slf4j.LoggerFactory;
13
14 @Stateless
15 public class ENCAuditorEJB extends AuditorBase
16 implements AuditorRemote {
17 private static final Logger log = LoggerFactory.getLogger(ENCAuditorEJB.class);
18 @Resource(name="val/publishJMS")
19 private Boolean publishJMS;
20
21 @PersistenceContext(name="jpa/em")
22 private EntityManager em;
23
24 @Resource(name="jms/cf")
25 private ConnectionFactory cf;
26
27 @Resource(name="jms/topic")
28 private Topic topic;
29
30 @PostConstruct
31 public void init() {
32 super.setLog(log);
33 super.setConnectionFactory(cf);
34 super.setEntityManager(em);
35 super.setTopic(topic);
36 super.setPublishJMS(isPublishJMS());
37 }
38
39 @Override
40 public boolean isPublishJMS() {
41 return publishJMS!=null && publishJMS;
42 }
43 @Override
44 public boolean havePersistenceContext() {
45 return em!=null;
46 }
47 @Override
48 public boolean haveTopic() {
49 return topic!=null;
50 }
51 @Override
52 public boolean haveConnectionFactory() {
53 return cf!=null;
54 }
55
56 @Override
57 public int audit(String message) {
58 return super.audit(message);
59 }
60 }