[jboss-user] [Management, JMX/JBoss] - Re: Add method to MDB for jmx/mbean?

rocken7 do-not-reply at jboss.com
Wed Mar 14 14:15:10 EDT 2007


So I did the JMX Mbean, and had a hell of a time figuring out how to get to an EntityManager from within the MBean.  No resource injection works, why I have no idea, is this a bug?  

@PersistenceContext did nothing, @Resource did nothing.  No idea how to get that working.  The @Management annotation is a mystery as well (but I digress). 

Me thinks jboss/redhat need some serious document renewals, the documentation is worse than my GF's sense of direction.  

Without the UserTransaction, jboss vomits NullPointer exceptions.  All attempts to create the EntityManager using the factory failed as well.  

Here is a related jira report: 
http://jira.jboss.com/jira/browse/EJBTHREE-665;jsessionid=E296A2B1C1633F424959E377C8838B32?page=all

This was how I got it to work: 

		UserTransaction tx = null; 
  | 
  | 		try 
  | 		{
  | 			InitialContext ctx = new InitialContext();
  | 			tx = (UserTransaction) ctx.lookup("UserTransaction");
  | 			tx.begin();
  | 
  | 			EntityManager em = (EntityManager) ctx.lookup("java:/Myxdb"); 
  | 			Query q = em.createNamedQuery("MyXAdsProp.findByName"); 
  | 			q.setParameter("name", name); 
  | 
  | 			MyXAdsProp dap = (MyXAdsProp) q.getSingleResult(); 
  | 			if( dap.getValue() != null && !dap.getValue().equals(value)) 
  | 			{
  | 				dap.setValue(value);
  | 			}
  | 
  | 			tx.commit(); 
  | 			return "OK"; 
  | 		} 
  | 		catch(Exception e) 
  | 		{  
  | 			if( tx.getStatus() == Status.STATUS_ACTIVE )
  | 			{
  | 				tx.rollback();
  | 			}
  | 
  | 			e.printStackTrace(); 
  | 			return new String(e.getMessage()); 
  | 		}
  | 

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4028093#4028093

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4028093



More information about the jboss-user mailing list