Taking the advice of Burkhard and Dennis, I now (think) I have exclusive
locking for the CMP. I am now getting this exception. Can someone on the
Jboss team tell me why this exception now shows up during a create()? I
know that I would be seeing a different exception if the bean with the
same PK already existed. This wasn't happening until I modified the
jboss.xml to have a custom container configuration. 

2002-05-06 11:23:48,125 ERROR [org.jboss.ejb.plugins.LogInterceptor]
TransactionRolledbackException, causedBy:
 java.rmi.ServerException: Could not instantiate bean; nested exception
is:     java.lang.InstantiationException:
com.betweenmarkets.workflow.bean.WorkflowStorageBean
 java.lang.InstantiationException:
com.betweenmarkets.workflow.bean.WorkflowStorageBean
        at java.lang.Class.newInstance0(Native Method)
        at java.lang.Class.newInstance(Class.java:237)
        at
org.jboss.ejb.plugins.jaws.JAWSPersistenceManager.createBeanClassInstanc
e(JAWSPersistenceManager.java:151)
        at
org.jboss.ejb.plugins.CMPPersistenceManager.createBeanClassInstance(CMPP
ersistenceManager.java:148)
        at
org.jboss.resource.connectionmanager.CachedConnectionInterceptor.createB
eanClassInstance(CachedConnectionInterceptor.java:212)
        at
org.jboss.ejb.EntityContainer.createBeanClassInstance(EntityContainer.ja
va:287)
        at
org.jboss.ejb.plugins.AbstractInstancePool.get(AbstractInstancePool.java
:209)
        at
org.jboss.ejb.plugins.EntityInstanceInterceptor.invokeHome(EntityInstanc
eInterceptor.java:122)
        at
org.jboss.ejb.plugins.EntityLockInterceptor.invokeHome(EntityLockInterce
ptor.java:79)
        at
org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterce
ptor.java:98)
        at
org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptor
CMT.java:167)
        at
org.jboss.ejb.plugins.TxInterceptorCMT.invokeHome(TxInterceptorCMT.java:
52)
        at
org.jboss.ejb.plugins.SecurityInterceptor.invokeHome(SecurityInterceptor
.java:102)
        at
org.jboss.ejb.plugins.LogInterceptor.invokeHome(LogInterceptor.java:109)
        at
org.jboss.ejb.EntityContainer.invokeHome(EntityContainer.java:468)
        at org.jboss.ejb.Container.invoke(Container.java:702)
        at
org.jboss.ejb.EntityContainer.invoke(EntityContainer.java:1003)
        at
org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:441)
        at
org.jboss.invocation.local.LocalInvoker.invoke(LocalInvoker.java:98)
        at
org.jboss.invocation.InvokerInterceptor.invoke(InvokerInterceptor.java:1
02)
        at
org.jboss.proxy.TransactionInterceptor.invoke(TransactionInterceptor.jav
a:73)
        at
org.jboss.proxy.SecurityInterceptor.invoke(SecurityInterceptor.java:76)
        at
org.jboss.proxy.ejb.HomeInterceptor.invoke(HomeInterceptor.java:185)
        at
org.jboss.proxy.ClientContainer.invoke(ClientContainer.java:96)
        at $Proxy52.create(Unknown Source)
 
My jboss.xml:

  <enterprise-beans>
    <message-driven>
      <ejb-name>WorkflowMessageBean</ejb-name>
 
<jndi-name>com.betweenmarkets.workflow.bean.WorkflowMessageBean</jndi-na
me>
      <configuration-name>Standard Message Driven
Bean</configuration-name>
 
<destination-jndi-name>queue/com.betweenmarkets.workflow.WorkflowMessage
Queue</destination-jndi-name>
    </message-driven>
    <entity>
        <ejb-name>WorkflowStorageBean</ejb-name>
 
<jndi-name>com.betweenmarkets.workflow.bean.WorkflowStorageHome</jndi-na
me>
        <configuration-name>WorkflowConfig</configuration-name>
    </entity>
    
  </enterprise-beans>

<!-- Custom Container configuration -->
  <container-configurations>
      <container-configuration>
         <container-name>WorkflowConfig</container-name>
         <call-logging>false</call-logging>
        
<container-invoker>org.jboss.proxy.ejb.ProxyFactory</container-invoker>
         <container-interceptors>
        
<interceptor>org.jboss.ejb.plugins.LogInterceptor</interceptor>
        
<interceptor>org.jboss.ejb.plugins.SecurityInterceptor</interceptor>
        
<interceptor>org.jboss.ejb.plugins.TxInterceptorCMT</interceptor>
            <interceptor
metricsEnabled="true">org.jboss.ejb.plugins.MetricsInterceptor</intercep
tor>
        
<interceptor>org.jboss.ejb.plugins.EntityLockInterceptor</interceptor>
        
<interceptor>org.jboss.ejb.plugins.EntityInstanceInterceptor</intercepto
r>
        
<interceptor>org.jboss.resource.connectionmanager.CachedConnectionInterc
eptor</interceptor>
        
<interceptor>org.jboss.ejb.plugins.EntitySynchronizationInterceptor</int
erceptor>
         </container-interceptors>
         <client-interceptors>
           <home>
 
<interceptor>org.jboss.proxy.ejb.HomeInterceptor</interceptor>
 
<interceptor>org.jboss.proxy.SecurityInterceptor</interceptor>
 
<interceptor>org.jboss.proxy.TransactionInterceptor</interceptor>
 
<interceptor>org.jboss.invocation.InvokerInterceptor</interceptor>
           </home>
           <bean>
 
<interceptor>org.jboss.proxy.ejb.EntityInterceptor</interceptor>
 
<interceptor>org.jboss.proxy.SecurityInterceptor</interceptor>
 
<interceptor>org.jboss.proxy.TransactionInterceptor</interceptor>
 
<interceptor>org.jboss.invocation.InvokerInterceptor</interceptor>
           </bean>
           <list-entity>
 
<interceptor>org.jboss.proxy.ejb.ListEntityInterceptor</interceptor>
 
<interceptor>org.jboss.proxy.SecurityInterceptor</interceptor>
 
<interceptor>org.jboss.proxy.TransactionInterceptor</interceptor>
 
<interceptor>org.jboss.invocation.InvokerInterceptor</interceptor>
           </list-entity>
         </client-interceptors>
        
<instance-pool>org.jboss.ejb.plugins.EntityInstancePool</instance-pool>
        
<instance-cache>org.jboss.ejb.plugins.EntityInstanceCache</instance-cach
e>
        
<persistence-manager>org.jboss.ejb.plugins.jaws.JAWSPersistenceManager</
persistence-manager>
        
<transaction-manager>org.jboss.tm.TxManager</transaction-manager>
        
<locking-policy>org.jboss.ejb.plugins.lock.QueuedPessimisticEJBLock</loc
king-policy>
         <container-invoker-conf>
            <RMIObjectPort>4444</RMIObjectPort>
            <Optimized>True</Optimized>
         </container-invoker-conf>
         <container-cache-conf>
        
<cache-policy>org.jboss.ejb.plugins.LRUEnterpriseContextCachePolicy</cac
he-policy>
            <cache-policy-conf>
               <min-capacity>50</min-capacity>
               <max-capacity>1000</max-capacity>
               <overager-period>300</overager-period>
               <max-bean-age>600</max-bean-age>
               <resizer-period>400</resizer-period>
               <max-cache-miss-period>60</max-cache-miss-period>
               <min-cache-miss-period>1</min-cache-miss-period>
               <cache-load-factor>0.75</cache-load-factor>
            </cache-policy-conf>
         </container-cache-conf>
         <container-pool-conf>
            <MaximumSize>100</MaximumSize>
 
<feeder-policy>org.jboss.ejb.plugins.TimedInstancePoolFeeder</feeder-pol
icy>
                <feeder-policy-conf>
                    <increment>10</increment>
                    <period>500</period>
                </feeder-policy-conf>
         </container-pool-conf>
         <commit-option>A</commit-option>
   </container-configuration>
  </container-configurations>

The code in question:

            workflowStorage  =
(WorkflowStorage)home.create(workflowEntry.workflowIdentifier,
workflowEntry.workflow);

Where the create sig is:

  public WorkflowStorage create(String workflowId, Object data)
    throws CreateException, RemoteException;

Thanks,
James

> -----Original Message-----
> From: James Higginbotham 
> Sent: Monday, May 06, 2002 8:41 AM
> To: Burkhard Vogel; [EMAIL PROTECTED]
> Subject: RE: [JBoss-user] Exclusive locking of CMP in JBoss 3?
> 
> 
> That is already setup in my standardjboss.xml. Should I be 
> putting it somewhere else in my configurations?
> 
> Also, how does one tell Jboss that I want to use a custom 
> container configuration for an EJB? What is the default used 
> if nothing is specified?
> 
> Thanks,
> James
> 
> > -----Original Message-----
> > From: Burkhard Vogel [mailto:[EMAIL PROTECTED]]
> > Sent: Sunday, May 05, 2002 5:33 PM
> > To: James Higginbotham; [EMAIL PROTECTED]
> > Subject: Re: [JBoss-user] Exclusive locking of CMP in JBoss 3?
> > 
> > 
> > Hi,
> > there used to be a locking as part of the container
> > configuartion, which menas you have to define your own 
> > container configuration, which you than can assign to your 
> > bean in the jboss.xml. Look for the line:
> > 
> > <locking-policy>org.jboss.ejb.plugins.lock.QueuedPessimisticEJ
> > BLock</locking
> > -policy>
> > which is (unfortunately) from JB2.4.3, but this shouldn't
> > have changed too much. Regrads, Burkhard
> > ----- Original Message -----
> > From: "James Higginbotham" <[EMAIL PROTECTED]>
> > To: <[EMAIL PROTECTED]>
> > Sent: Sunday, May 05, 2002 5:07 PM
> > Subject: [JBoss-user] Exclusive locking of CMP in JBoss 3?
> > 
> > 
> > Is there a JBoss extension to the deployment descriptors that
> > enables turning on an exclusive lock mode for CMPs in v3.0? 
> > We are using Weblogic's feature to require pessimistic 
> > locking for a specific CMP bean and need a similiar feature 
> > under JBoss. Any suggestions are appreciated.
> > 
> > Thanks,
> > James
> > 
> > 
> > 
> 
> _______________________________________________________________
> 
> Have big pipes? SourceForge.net is looking for download 
> mirrors. We supply the hardware. You get the recognition. 
> Email Us: [EMAIL PROTECTED] 
> _______________________________________________
> JBoss-user mailing list
> [EMAIL PROTECTED] 
> https://lists.sourceforge.net/lists/listinfo/j> boss-user
> 

_______________________________________________________________

Have big pipes? SourceForge.net is looking for download mirrors. We supply
the hardware. You get the recognition. Email Us: [EMAIL PROTECTED]
_______________________________________________
JBoss-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-user

Reply via email to