We have been using middlegen to generate EJB for last 3 years for JBoss3.2.1 
successfully and it has worked very well for us. Now we are trying to upgrade 
to JBoss4.0.4 and we are getting this error in the middlegen generated file 
when deployed,

java.lang.ClassCastException

        at 
com.acs.erx.payload.interfaces.PayloadSessionBeanUtil.getLocalHome(PayloadSessionBeanUtil.java:145)
        at 
com.acs.erx.payload.batch.PostCashieringTask.run(PostCashieringTask.java:59)
        at java.util.TimerThread.mainLoop(Timer.java:432)
        at java.util.TimerThread.run(Timer.java:382)

Please advice what we need to change to get it working.  I have attached the 
generated file. It does work in JBoss 4.0.1sp1 but not in 4.0.4  We are using 
middlegen 2.1

Thanks!

The generated code is this,

/*
 * Generated file - Do not edit!
 */

/**
 * Utility class for PayloadSessionBean.
 */
public class PayloadSessionBeanUtil
{

   // Home interface lookup methods

   /**
    * Obtain remote home interface from default initial context
    * @return Home interface for PayloadSessionBean. Lookup using JNDI_NAME
    */
   public static com.acs.erx.payload.interfaces.PayloadSessionBeanHome 
getHome() throws NamingException
   {
      // Obtain initial context
      InitialContext initialContext = new InitialContext();
      try {
         java.lang.Object objRef = 
initialContext.lookup(com.acs.erx.payload.interfaces.PayloadSessionBeanHome.JNDI_NAME);
         return (com.acs.erx.payload.interfaces.PayloadSessionBeanHome) 
PortableRemoteObject.narrow(objRef, 
com.acs.erx.payload.interfaces.PayloadSessionBeanHome.class);
      } finally {
         initialContext.close();
      }
   }

   /**
    * Obtain remote home interface from parameterised initial context
    * @param environment Parameters to use for creating initial context
    * @return Home interface for PayloadSessionBean. Lookup using JNDI_NAME
    */
   public static com.acs.erx.payload.interfaces.PayloadSessionBeanHome getHome( 
Hashtable environment ) throws NamingException
   {
      // Obtain initial context
      InitialContext initialContext = new InitialContext(environment);
      try {
         java.lang.Object objRef = 
initialContext.lookup(com.acs.erx.payload.interfaces.PayloadSessionBeanHome.JNDI_NAME);
         return (com.acs.erx.payload.interfaces.PayloadSessionBeanHome) 
PortableRemoteObject.narrow(objRef, 
com.acs.erx.payload.interfaces.PayloadSessionBeanHome.class);
      } finally {
         initialContext.close();
      }
   }

   /**
    * Obtain local home interface from default initial context
    * @return Local home interface for PayloadSessionBean. Lookup using 
JNDI_NAME
    */
   public static com.acs.erx.payload.interfaces.PayloadSessionBeanLocalHome 
getLocalHome() throws NamingException
   {
      // Local homes shouldn't be narrowed, as there is no RMI involved.
      // Obtain initial context
      InitialContext initialContext = new InitialContext();
      try {
         return (com.acs.erx.payload.interfaces.PayloadSessionBeanLocalHome) 
initialContext.lookup(com.acs.erx.payload.interfaces.PayloadSessionBeanLocalHome.JNDI_NAME);
      } finally {
         initialContext.close();
      }
   }

   /** Cached per JVM server IP. */
   private static String hexServerIP = null;

   // initialise the secure random instance
   private static final SecureRandom seeder = new SecureRandom();

   /**
    * A 32 byte GUID generator (Globally Unique ID). These artificial keys 
SHOULD NOT  be seen by the user,
    * not even touched by the DBA but with very rare exceptions, just 
manipulated by the database and the programs.
    *
    * Usage: Add an id field (type java.lang.String) to your EJB, and add 
setId(XXXUtil.generateGUID(this)); to the ejbCreate method.
    */
   public static final String generateGUID(Object o) {
       StringBuffer tmpBuffer = new StringBuffer(16);
       if (hexServerIP == null) {
           InetAddress localInetAddress = null;
           try {
               // get the inet address
               localInetAddress = InetAddress.getLocalHost();
           }
           catch (java.net.UnknownHostException uhe) {
               System.err.println("PayloadSessionBeanUtil: Could not get the 
local IP address using InetAddress.getLocalHost()!");
               // todo: find better way to get around this...
               uhe.printStackTrace();
               return null;
           }
           byte serverIP[] = localInetAddress.getAddress();
           hexServerIP = hexFormat(getInt(serverIP), 8);
       }
       String hashcode = hexFormat(System.identityHashCode(o), 8);
       tmpBuffer.append(hexServerIP);
       tmpBuffer.append(hashcode);

       long timeNow      = System.currentTimeMillis();
       int timeLow       = (int)timeNow & 0xFFFFFFFF;
       int node          = seeder.nextInt();

       StringBuffer guid = new StringBuffer(32);
       guid.append(hexFormat(timeLow, 8));
       guid.append(tmpBuffer.toString());
       guid.append(hexFormat(node, 8));
       return guid.toString();
   }

   private static int getInt(byte bytes[]) {
       int i = 0;
       int j = 24;
       for (int k = 0; j >= 0; k++) {
           int l = bytes[k] & 0xff;
           i += l << j;
           j -= 8;
       }
       return i;
   }

   private static String hexFormat(int i, int j) {
       String s = Integer.toHexString(i);
       return padHex(s, j) + s;
   }

   private static String padHex(String s, int i) {
       StringBuffer tmpBuffer = new StringBuffer();
       if (s.length() < i) {
           for (int j = 0; j < i - s.length(); j++) {
               tmpBuffer.append('0');
           }
       }
       return tmpBuffer.toString();
   }
}

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

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


-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642
_______________________________________________
JBoss-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jboss-user

Reply via email to