Author: dblevins
Date: Wed Jun 2 05:30:45 2010
New Revision: 950373
URL: http://svn.apache.org/viewvc?rev=950373&view=rev
Log:
Patch from Thiago Veronezi, OPENEJB-1144 and OPENEJB-1146
Partial support for @StatefulTimeout and @AccessTimeout related xml and
deployment support
Thanks, Thiago!
Added:
openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/AccessTimeout.java
(with props)
openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/StatefulTimeout.java
(with props)
openejb/trunk/openejb3/container/openejb-jee/src/test/resources/ejb-jar-timeout.xml
(with props)
Modified:
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/EnterpriseBeanBuilder.java
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/EnterpriseBeanInfo.java
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/EjbJarInfoBuilder.java
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/CoreDeploymentInfo.java
openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/SessionBean.java
openejb/trunk/openejb3/container/openejb-jee/src/test/java/org/apache/openejb/jee/JeeTest.java
Modified:
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/EnterpriseBeanBuilder.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/EnterpriseBeanBuilder.java?rev=950373&r1=950372&r2=950373&view=diff
==============================================================================
---
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/EnterpriseBeanBuilder.java
(original)
+++
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/EnterpriseBeanBuilder.java
Wed Jun 2 05:30:45 2010
@@ -162,6 +162,9 @@ class EnterpriseBeanBuilder {
// ejbTimeout
deployment.setEjbTimeout(getTimeout(ejbClass, bean.timeoutMethod));
+
+ deployment.setStatefulTimeout(bean.statefulTimeout);
+ deployment.setAccessTimeout(bean.accessTimeout);
if (bean instanceof StatefulBeanInfo) {
StatefulBeanInfo statefulBeanInfo = (StatefulBeanInfo) bean;
Modified:
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/EnterpriseBeanInfo.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/EnterpriseBeanInfo.java?rev=950373&r1=950372&r2=950373&view=diff
==============================================================================
---
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/EnterpriseBeanInfo.java
(original)
+++
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/EnterpriseBeanInfo.java
Wed Jun 2 05:30:45 2010
@@ -20,6 +20,8 @@ import java.util.ArrayList;
import java.util.List;
import java.util.Properties;
+import org.apache.openejb.util.Duration;
+
public abstract class EnterpriseBeanInfo extends InfoObject {
public static final int ENTITY = 0;
@@ -75,4 +77,7 @@ public abstract class EnterpriseBeanInfo
public List<String> jndiNames = new ArrayList<String>();
public boolean loadOnStartup;
public final List<String> dependsOn = new ArrayList<String>() ;
+
+ public Duration statefulTimeout;
+ public Duration accessTimeout;
}
Modified:
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/EjbJarInfoBuilder.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/EjbJarInfoBuilder.java?rev=950373&r1=950372&r2=950373&view=diff
==============================================================================
---
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/EjbJarInfoBuilder.java
(original)
+++
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/EjbJarInfoBuilder.java
Wed Jun 2 05:30:45 2010
@@ -17,7 +17,18 @@
*/
package org.apache.openejb.config;
+import java.io.File;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.TimeUnit;
+
import org.apache.openejb.OpenEJBException;
+import org.apache.openejb.assembler.classic.ApplicationExceptionInfo;
import org.apache.openejb.assembler.classic.CallbackInfo;
import org.apache.openejb.assembler.classic.CmrFieldInfo;
import org.apache.openejb.assembler.classic.EjbJarInfo;
@@ -26,34 +37,38 @@ import org.apache.openejb.assembler.clas
import org.apache.openejb.assembler.classic.InitMethodInfo;
import org.apache.openejb.assembler.classic.InterceptorBindingInfo;
import org.apache.openejb.assembler.classic.InterceptorInfo;
+import org.apache.openejb.assembler.classic.JndiNameInfo;
+import org.apache.openejb.assembler.classic.ManagedBeanInfo;
import org.apache.openejb.assembler.classic.MessageDrivenBeanInfo;
+import org.apache.openejb.assembler.classic.MethodConcurrencyInfo;
import org.apache.openejb.assembler.classic.MethodInfo;
import org.apache.openejb.assembler.classic.MethodPermissionInfo;
+import org.apache.openejb.assembler.classic.MethodScheduleInfo;
import org.apache.openejb.assembler.classic.MethodTransactionInfo;
import org.apache.openejb.assembler.classic.NamedMethodInfo;
import org.apache.openejb.assembler.classic.QueryInfo;
import org.apache.openejb.assembler.classic.RemoveMethodInfo;
+import org.apache.openejb.assembler.classic.ScheduleInfo;
import org.apache.openejb.assembler.classic.SecurityRoleInfo;
import org.apache.openejb.assembler.classic.SecurityRoleReferenceInfo;
+import org.apache.openejb.assembler.classic.SingletonBeanInfo;
import org.apache.openejb.assembler.classic.StatefulBeanInfo;
import org.apache.openejb.assembler.classic.StatelessBeanInfo;
-import org.apache.openejb.assembler.classic.ApplicationExceptionInfo;
-import org.apache.openejb.assembler.classic.JndiNameInfo;
-import org.apache.openejb.assembler.classic.SingletonBeanInfo;
-import org.apache.openejb.assembler.classic.MethodConcurrencyInfo;
-import org.apache.openejb.assembler.classic.MethodScheduleInfo;
-import org.apache.openejb.assembler.classic.ScheduleInfo;
-import org.apache.openejb.assembler.classic.ManagedBeanInfo;
+import org.apache.openejb.jee.AccessTimeout;
import org.apache.openejb.jee.ActivationConfig;
import org.apache.openejb.jee.ActivationConfigProperty;
+import org.apache.openejb.jee.ApplicationException;
import org.apache.openejb.jee.CallbackMethod;
import org.apache.openejb.jee.CmpField;
import org.apache.openejb.jee.CmpVersion;
+import org.apache.openejb.jee.ConcurrencyType;
+import org.apache.openejb.jee.ContainerConcurrency;
import org.apache.openejb.jee.ContainerTransaction;
import org.apache.openejb.jee.EjbRelation;
import org.apache.openejb.jee.EjbRelationshipRole;
import org.apache.openejb.jee.EnterpriseBean;
import org.apache.openejb.jee.EntityBean;
+import org.apache.openejb.jee.ExcludeList;
import org.apache.openejb.jee.Icon;
import org.apache.openejb.jee.InitMethod;
import org.apache.openejb.jee.Interceptor;
@@ -63,6 +78,7 @@ import org.apache.openejb.jee.MessageDri
import org.apache.openejb.jee.Method;
import org.apache.openejb.jee.MethodParams;
import org.apache.openejb.jee.MethodPermission;
+import org.apache.openejb.jee.MethodSchedule;
import org.apache.openejb.jee.Multiplicity;
import org.apache.openejb.jee.NamedMethod;
import org.apache.openejb.jee.PersistenceType;
@@ -70,34 +86,22 @@ import org.apache.openejb.jee.Query;
import org.apache.openejb.jee.QueryMethod;
import org.apache.openejb.jee.RemoteBean;
import org.apache.openejb.jee.RemoveMethod;
+import org.apache.openejb.jee.ResultTypeMapping;
+import org.apache.openejb.jee.Schedule;
import org.apache.openejb.jee.SecurityRole;
import org.apache.openejb.jee.SecurityRoleRef;
import org.apache.openejb.jee.SessionBean;
import org.apache.openejb.jee.SessionType;
+import org.apache.openejb.jee.StatefulTimeout;
import org.apache.openejb.jee.TransactionType;
-import org.apache.openejb.jee.ExcludeList;
-import org.apache.openejb.jee.ResultTypeMapping;
-import org.apache.openejb.jee.ApplicationException;
-import org.apache.openejb.jee.ConcurrencyType;
-import org.apache.openejb.jee.ContainerConcurrency;
-import org.apache.openejb.jee.MethodSchedule;
-import org.apache.openejb.jee.Schedule;
import org.apache.openejb.jee.oejb3.EjbDeployment;
-import org.apache.openejb.jee.oejb3.ResourceLink;
import org.apache.openejb.jee.oejb3.Jndi;
+import org.apache.openejb.jee.oejb3.ResourceLink;
+import org.apache.openejb.util.Duration;
import org.apache.openejb.util.LogCategory;
import org.apache.openejb.util.Logger;
import org.apache.openejb.util.Messages;
-import java.io.File;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Collection;
-
/**
* @version $Revision$ $Date$
*/
@@ -562,6 +566,18 @@ public class EjbJarInfoBuilder {
bean.serviceEndpoint = s.getServiceEndpoint();
bean.properties.putAll(d.getProperties());
+ final StatefulTimeout statefulTimeout = s.getStatefulTimeout();
+ if(statefulTimeout != null) {
+ bean.statefulTimeout = new
Duration(statefulTimeout.getTimeout(),
+ TimeUnit.valueOf(statefulTimeout.getUnit()));
+ }
+
+ final AccessTimeout accessTimeout = s.getAccessTimeout();
+ if(accessTimeout != null) {
+ bean.accessTimeout = new Duration(accessTimeout.getTimeout(),
+ TimeUnit.valueOf(accessTimeout.getUnit()));
+ }
+
return bean;
}
Modified:
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/CoreDeploymentInfo.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/CoreDeploymentInfo.java?rev=950373&r1=950372&r2=950373&view=diff
==============================================================================
---
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/CoreDeploymentInfo.java
(original)
+++
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/CoreDeploymentInfo.java
Wed Jun 2 05:30:45 2010
@@ -25,17 +25,18 @@ import java.util.HashSet;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Map;
+import java.util.Properties;
import java.util.Set;
import java.util.TreeSet;
-import java.util.Properties;
+
import javax.ejb.EJBHome;
import javax.ejb.EJBLocalHome;
import javax.ejb.EJBLocalObject;
import javax.ejb.EJBObject;
import javax.ejb.MessageDrivenBean;
+import javax.ejb.SessionSynchronization;
import javax.ejb.TimedObject;
import javax.ejb.Timer;
-import javax.ejb.SessionSynchronization;
import javax.naming.Context;
import javax.persistence.EntityManagerFactory;
@@ -52,8 +53,9 @@ import org.apache.openejb.core.intercept
import org.apache.openejb.core.ivm.EjbHomeProxyHandler;
import org.apache.openejb.core.timer.EjbTimerService;
import org.apache.openejb.core.timer.MethodSchedule;
-import org.apache.openejb.core.transaction.TransactionType;
import org.apache.openejb.core.transaction.TransactionPolicyFactory;
+import org.apache.openejb.core.transaction.TransactionType;
+import org.apache.openejb.util.Duration;
import org.apache.openejb.util.Index;
import org.apache.openejb.util.LogCategory;
import org.apache.openejb.util.Logger;
@@ -133,6 +135,8 @@ public class CoreDeploymentInfo implemen
private final Map<Class, ExceptionType> exceptions = new HashMap<Class,
ExceptionType>();
private boolean loadOnStartup;
private boolean localbean;
+ private Duration accessTimeout;
+ private Duration statefulTimeout;
public Class getInterface(InterfaceType interfaceType) {
switch(interfaceType){
@@ -1137,4 +1141,20 @@ public class CoreDeploymentInfo implemen
return null;
}
+
+ public Duration getAccessTimeout() {
+ return accessTimeout;
+ }
+
+ public void setAccessTimeout(Duration accessTimeout) {
+ this.accessTimeout = accessTimeout;
+ }
+
+ public Duration getStatefulTimeout() {
+ return statefulTimeout;
+ }
+
+ public void setStatefulTimeout(Duration statefulTimeout) {
+ this.statefulTimeout = statefulTimeout;
+ }
}
Added:
openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/AccessTimeout.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/AccessTimeout.java?rev=950373&view=auto
==============================================================================
---
openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/AccessTimeout.java
(added)
+++
openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/AccessTimeout.java
Wed Jun 2 05:30:45 2010
@@ -0,0 +1,51 @@
+/**
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.openejb.jee;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+...@xmlaccessortype(XmlAccessType.FIELD)
+...@xmltype(name = "access-timeoutType", propOrder = { "timeout", "unit" })
+public class AccessTimeout {
+
+ @XmlElement(name = "timeout", required = true)
+ private Integer timeout;
+
+ @XmlElement(name = "unit", required = true)
+ private String unit;
+
+ public Integer getTimeout() {
+ return timeout;
+ }
+
+ public void setTimeout(Integer timeout) {
+ this.timeout = timeout;
+ }
+
+ public String getUnit() {
+ return unit;
+ }
+
+ public void setUnit(String unit) {
+ this.unit = unit;
+ }
+
+}
Propchange:
openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/AccessTimeout.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified:
openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/SessionBean.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/SessionBean.java?rev=950373&r1=950372&r2=950373&view=diff
==============================================================================
---
openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/SessionBean.java
(original)
+++
openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/SessionBean.java
Wed Jun 2 05:30:45 2010
@@ -18,22 +18,23 @@
package org.apache.openejb.jee;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.LinkedHashSet;
+import java.util.List;
+import java.util.Map;
+
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlElementWrapper;
import javax.xml.bind.annotation.XmlID;
import javax.xml.bind.annotation.XmlTransient;
import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.XmlElementWrapper;
import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Collection;
-import java.util.LinkedHashSet;
-import java.util.Map;
-import java.util.Arrays;
/**
@@ -134,7 +135,9 @@ import java.util.Arrays;
"prePassivate",
"securityRoleRef",
"securityIdentity",
- "dependsOn"
+ "dependsOn",
+ "statefulTimeout",
+ "accessTimeout"
})
public class SessionBean implements RemoteBean, Session, TimerConsumer {
@XmlTransient
@@ -214,6 +217,12 @@ public class SessionBean implements Remo
@XmlElementWrapper(name = "depends-on")
@XmlElement(name = "ejb-name")
protected List<String> dependsOn;
+
+ @XmlElement(name = "stateful-timeout", required = true)
+ protected StatefulTimeout statefulTimeout;
+
+ @XmlElement(name = "access-timeout", required = true)
+ protected AccessTimeout accessTimeout;
@XmlAttribute
@XmlJavaTypeAdapter(CollapsedStringAdapter.class)
@@ -704,4 +713,20 @@ public class SessionBean implements Remo
this.id = value;
}
+ public StatefulTimeout getStatefulTimeout() {
+ return statefulTimeout;
+ }
+
+ public void setStatefulTimeout(StatefulTimeout statefulTimeout) {
+ this.statefulTimeout = statefulTimeout;
+ }
+
+ public AccessTimeout getAccessTimeout() {
+ return accessTimeout;
+ }
+
+ public void setAccessTimeout(AccessTimeout accessTimeout) {
+ this.accessTimeout = accessTimeout;
+ }
+
}
Added:
openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/StatefulTimeout.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/StatefulTimeout.java?rev=950373&view=auto
==============================================================================
---
openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/StatefulTimeout.java
(added)
+++
openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/StatefulTimeout.java
Wed Jun 2 05:30:45 2010
@@ -0,0 +1,51 @@
+/**
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.openejb.jee;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+...@xmlaccessortype(XmlAccessType.FIELD)
+...@xmltype(name = "stateful-timeoutType", propOrder = { "timeout", "unit" })
+public class StatefulTimeout {
+
+ @XmlElement(name = "timeout", required = true)
+ private Integer timeout;
+
+ @XmlElement(name = "unit", required = true)
+ private String unit;
+
+ public Integer getTimeout() {
+ return timeout;
+ }
+
+ public void setTimeout(Integer timeout) {
+ this.timeout = timeout;
+ }
+
+ public String getUnit() {
+ return unit;
+ }
+
+ public void setUnit(String unit) {
+ this.unit = unit;
+ }
+
+}
Propchange:
openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/StatefulTimeout.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified:
openejb/trunk/openejb3/container/openejb-jee/src/test/java/org/apache/openejb/jee/JeeTest.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-jee/src/test/java/org/apache/openejb/jee/JeeTest.java?rev=950373&r1=950372&r2=950373&view=diff
==============================================================================
---
openejb/trunk/openejb3/container/openejb-jee/src/test/java/org/apache/openejb/jee/JeeTest.java
(original)
+++
openejb/trunk/openejb3/container/openejb-jee/src/test/java/org/apache/openejb/jee/JeeTest.java
Wed Jun 2 05:30:45 2010
@@ -17,22 +17,6 @@
*/
package org.apache.openejb.jee;
-import junit.framework.TestCase;
-import org.xml.sax.Attributes;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-import org.xml.sax.XMLReader;
-import org.xml.sax.helpers.XMLFilterImpl;
-
-import javax.xml.bind.JAXBContext;
-import javax.xml.bind.JAXBElement;
-import javax.xml.bind.Marshaller;
-import javax.xml.bind.Unmarshaller;
-import javax.xml.bind.ValidationEvent;
-import javax.xml.bind.ValidationEventHandler;
-import javax.xml.parsers.SAXParser;
-import javax.xml.parsers.SAXParserFactory;
-import javax.xml.transform.sax.SAXSource;
import java.io.BufferedInputStream;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
@@ -44,6 +28,24 @@ import java.util.ArrayList;
import java.util.List;
import java.util.Properties;
+import javax.xml.bind.JAXBContext;
+import javax.xml.bind.JAXBElement;
+import javax.xml.bind.Marshaller;
+import javax.xml.bind.Unmarshaller;
+import javax.xml.bind.ValidationEvent;
+import javax.xml.bind.ValidationEventHandler;
+import javax.xml.parsers.SAXParser;
+import javax.xml.parsers.SAXParserFactory;
+import javax.xml.transform.sax.SAXSource;
+
+import junit.framework.TestCase;
+
+import org.xml.sax.Attributes;
+import org.xml.sax.InputSource;
+import org.xml.sax.SAXException;
+import org.xml.sax.XMLReader;
+import org.xml.sax.helpers.XMLFilterImpl;
+
/**
* @version $Revision$ $Date$
*/
@@ -85,6 +87,22 @@ public class JeeTest extends TestCase {
System.out.println("time: " + (System.currentTimeMillis() - start));
}
+
+ public void testEjbTimeout() throws Exception {
+ String fileName = "ejb-jar-timeout.xml";
+ InputStream in =
this.getClass().getClassLoader().getResourceAsStream(fileName);
+
+ Object o = JaxbJavaee.unmarshal(EjbJar.class, in);
+
+ EjbJar ejbJar = (EjbJar) o;
+ EnterpriseBean bean = ejbJar.getEnterpriseBean("A");
+
+ assertTrue("The bean A is not a SessionBean", bean instanceof
SessionBean);
+ SessionBean sbean = (SessionBean) bean;
+
+ assertNotNull("Unable to get the AccessTimeout value",
sbean.getAccessTimeout());
+ assertNotNull("Unable to get the StatefulTimeout value",
sbean.getStatefulTimeout());
+ }
public void testEjbJarMdb20() throws Exception {
String fileName = "ejb-jar-mdb-2.0.xml";
Added:
openejb/trunk/openejb3/container/openejb-jee/src/test/resources/ejb-jar-timeout.xml
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/ejb-jar-timeout.xml?rev=950373&view=auto
==============================================================================
---
openejb/trunk/openejb3/container/openejb-jee/src/test/resources/ejb-jar-timeout.xml
(added)
+++
openejb/trunk/openejb3/container/openejb-jee/src/test/resources/ejb-jar-timeout.xml
Wed Jun 2 05:30:45 2010
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<!--
+
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<ejb-jar xmlns="http://java.sun.com/xml/ns/javaee" version="3.1"
metadata-complete="true">
+ <enterprise-beans>
+ <session>
+ <description>String</description>
+ <ejb-name>A</ejb-name>
+ <stateful-timeout>
+ <timeout>1234</timeout>
+ <unit>Seconds</unit>
+ </stateful-timeout>
+ <access-timeout>
+ <timeout>1234</timeout>
+ <unit>Seconds</unit>
+ </access-timeout>
+
+ </session>
+ </enterprise-beans>
+</ejb-jar>
Propchange:
openejb/trunk/openejb3/container/openejb-jee/src/test/resources/ejb-jar-timeout.xml
------------------------------------------------------------------------------
svn:eol-style = native