Just a guess, but have you tried
@Resource instead of
@Inject? Some things, like
EJBContext,
SessionContext,
TimerService and
DataSource, but also a lot of JMS stuff, should not be injected using
@Inject but using
@Resource instead.
I'm also guessing that
JMSConnectionFactory does not need the additional
@Inject or
@Resource similarly to
@PersistenceContext, and that the other annotation is actually causing the failed injection.