blob: 74958f1cd93505c04cb3cb5453eec83232e58a83 [file] [log] [blame]
Title: Built-in Type Converters
The following built-in types are supported for @Resource injection in EJBs
via <env-entry> elements in a META-INF/ejb-jar.xml or via plain properties
in a META-INF/env-entries.properties file.
EJB 3.0 required types:
- java.lang.Boolean
- java.lang.Byte
- java.lang.Character
- java.lang.Double
- java.lang.Float
- java.lang.Integer
- java.lang.Long
- java.lang.Short
- java.lang.String
OpenEJB 3.0 additional types:
- java.lang.Class
- java.lang.Enum (any subclass of)
- java.io.File
- java.math.BigDecimal
- java.math.BigInteger
- java.net.Inet4Address
- java.net.Inet6Address
- java.net.InetAddress
- java.net.URI
- java.net.URL
- java.util.ArrayList
- java.util.Date
- java.util.HashMap
- java.util.Hashtable
- java.util.IdentityHashMap
- java.util.LinkedHashMap
- java.util.LinkedHashSet
- java.util.LinkedList
- java.util.List
- java.util.Map
- java.util.Properties
- java.util.Set
- java.util.SortedMap
- java.util.TreeMap
- java.util.TreeSet
- java.util.Vector
- java.util.WeakHashMap
- java.util.logging.Logger
- java.util.regex.Pattern
- javax.management.ObjectName
- javax.naming.Context
- org.apache.commons.logging.Log
- org.apache.log4j.Logger
To use an OpenEJB additional type in xml, simply declare it as
<env-entry-type>java.lang.String</env-entry-type> and it will be converted
on the fly to the field/setter type used by the bean class. For example:
package org.superbiz.foo;
import java.util.Date;
@Stateless
public class MyBean {
@Resource
private Date myDate;
}
Works with an ejb-jar.xml as follows:
<ejb-jar xmlns="http://java.sun.com/xml/ns/javaee" version="3.0"
metadata-complete="false">
<enterprise-beans>
<session>
<ejb-name>MyBean</ejb-name>
<env-entry>
<env-entry-name>org.superbiz.foo.MyBean/myDate</env-entry-name>
<env-entry-value>2008-04-19</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
</session>
</enterprise-beans>
</ejb-jar>
Or with an env-entries.properties file as follows:
org.superbiz.foo.MyBean/myDate = 2008-04-19