Author: struberg
Date: Wed Apr 4 20:52:07 2012
New Revision: 1309591
URL: http://svn.apache.org/viewvc?rev=1309591&view=rev
Log:
release preparation: add readme for 1.1.4 release
Added:
openwebbeans/trunk/readme/README_1_1_4.txt (with props)
Added: openwebbeans/trunk/readme/README_1_1_4.txt
URL:
http://svn.apache.org/viewvc/openwebbeans/trunk/readme/README_1_1_4.txt?rev=1309591&view=auto
==============================================================================
--- openwebbeans/trunk/readme/README_1_1_4.txt (added)
+++ openwebbeans/trunk/readme/README_1_1_4.txt Wed Apr 4 20:52:07 2012
@@ -0,0 +1,1034 @@
+-------------------------------
+Apache OpenWebBeans 1.1.4
+-------------------------------
+Welcome!
+Thanks for downloading and using OpenWebBeans.
+This document is a "Getting Started Guide" for OpenWebBeans.
+
+This document is based on the 1.1.4 release of Apache OpenWebBeans.
+
+--------------------------------
+What is Apache OpenWebBeans?
+--------------------------------
+OpenWebBeans is an Apache License V 2.0 licensed implementation of the JSR-299,
+Contexts and Dependency Injection for the Java EE platform.
+
+It also already incorporates some features which are part of JSR-346 (CDI-1.1)
+but doesn't need API changes as we still use the JCDI-1.0 API. The
+incorporated CDI-1.1 features are mostly parts which are not well
+defined in the CDI-1.0 specification, like Serialisation checks, etc.
+
+Our project's web page can be found at:
+http://openwebbeans.apache.org
+
+The projects WIKI page can be found at:
+https://cwiki.apache.org/confluence/display/OWB/Index
+
+
+--------------------------------
+OpenWebBeans 1.1.4 Release Features
+--------------------------------
+
+- The 1.1.4 release supports the following features
+-----------------------------------
+* Managed Beans Support
+* Session Beans Support (via Embeddable OpenEJB container in Tomcat)
+* Producer Method Support
+* Producer Field Support
+* Java EE Resource Injection Support
+* JMS OpenWebBeans Support(OWB Specific)
+* Inheritance, Stereotype Inheritances
+* Specialization Support
+* Event Support
+* Decorator and Interceptor Support
+* Lookup and Dependency Injection Support
+* Java EE Plugin Support (via ServetContextListener interface)
+* Portable Integration Support
+* Passivation Capability of Beans
+* @Alternative support
+* OSGi environment support with an own plugable bundle ClassPath scanner
+* vastly improved Interceptor performance
+* plugable SecurityManager integration doubles speed if no SecurityManager is
being used
+* improved Serialization handling
+* improved CreationalContext handling
+* revised internal logging
+* upgrade to JPA-2 and JSF-2 support
+* support for direct CDI usage in tomcat-6 and tomcat-7 environments
+* optional lenient lifecycle interceptor checking
+* automatically detect if BeanManager#isInUse()
+* improved Serialization checks from the CDI-1.1 specification
+
+
+
+Noteable differences to CDI spec behaviour
+--------------------------------------------
+
+In a few special cases Apache OpenWebBeans might behave a little bit different
than
+other CDI implementations. This is to some degree caused by the JSR-299 spec
being
+not clear about some special topics so we needed to interpret the wording on
our own.
+This mainly concerns the area of section 12.1 Bean Archives (BDA) which
doesn't work
+out when it comes to OSGi containers and likes.
+In Apache OpenWebBeans, a settings configured in a beans.xml file of a BDA is
not
+only effective for this very bean archive but for the whole BeanManager in
control
+of the Application. This is especially the case for <alternatives> and
+<interceptors>! An Alternative, Interceptor or Decorator enabled in one BDA is
active
+for the whole Application. This behaviour will most likely also be the default
behaviour
+in the CDI-1.1 JSR-346 specification.
+
+-------------------------------------------
+Release Notes - OpenWebBeans - Version 1.1.4
+-------------------------------------------
+
+Bug
+
+ * [OWB-567] - Lookup of Provider results in NullPointerException on get()
+ * [OWB-574] - NewBean doesn't support EJBs
+ * [OWB-580] - ObserverMethodImpl needs support for EJB's whose Bean Types
do not include the EJB class
+ * [OWB-602] - OpenWebBeans OpenEJB integration OSGi bundle declares the
wrong version for the javax.transaction package
+ * [OWB-617] - NullPointerException in InstanceBean#createInstance
+ * [OWB-628] - Event injection doesn't work in observer methods.
+ * [OWB-633] - define stereotypes & thirdparty
+ * [OWB-634] - @Interceptors added by extension ignored
+ * [OWB-636] - Samples point to parent pom file that doesn't exist
+ * [OWB-643] - it isn't possible to add/remove @Alternative during the
bootstrapping process
+ * [OWB-644] - wrong config entry for LoaderService
+ * [OWB-645] - InjectionPoint is null when using @Produces.
NullPointerException caused by CDI container providing a null InjectionPoint
into a producer method.
+ * [OWB-646] - Failover does not work (again)
+ * [OWB-648] - regression on tck
org.jboss.jsr299.tck.tests.lookup.injectionpoint.InjectableReferenceTest
+ * [OWB-649] - exceptions in EJB's are wrapped in InvocationTargetException
+ * [OWB-655] - CDI doesn´t inject stateless EJB by abstract class.
+ * [OWB-658] - BeanManager.getBeans(Type, Annotation...) can not be used to
query all known beans
+ * [OWB-659] - An annotated interface class is being seen as a manage bean.
+ * [OWB-660] - WebBeansContext #activateContext for SessionScoped.class
doesn't set the ThreadLocal
+
+Improvement
+
+ * [OWB-596] - Provide info about injetion point for "Passivation capable
beans must satisfy passivation capable dependencies ..."
+ * [OWB-604] - more details for exceptions during bootstrapping
+ * [OWB-635] - support callbacks (@PostContrcut, @PreDestroy) in Extensions
+ * [OWB-637] - [perf] ELContextStore.destroyDependents() creates
unnecessary HashMap$KeyIterator instances
+ * [OWB-638] - [PERF] Avoid unnecessary AbstractList$Itr instances
+ * [OWB-639] - [perf] InjectionResolver.getBeanCacheKey creates many
StringBuilder instances
+ * [OWB-641] - the jee5-ejb-resource module should support @EJB(mappedName)
+ * [OWB-647] - [PERF] Avoid unnecessary StringBuilder instances - improve
checkNullInstance, checkScopeType, ... methods
+ * [OWB-653] - remove @ViewScoped support
+ * [OWB-657] - review startup performance
+ * [OWB-661] - hashCode, equals and toString() of our built in Qualifier
Literals should be implemented ourselfs
+
+Task
+
+ * [OWB-656] - remove webbeans-openejb
+ * [OWB-662] - remove obsolete class WebBeansAnnotation
+
+
+
+-------------------------------------------
+Release Notes - OpenWebBeans - Version 1.1.3
+-------------------------------------------
+
+Bug
+
+ * [OWB-515] - interceptors don't support inheritance without an overridden
method annotated with @AroundInvoke
+ * [OWB-565] - missing check for producer methods
+ * [OWB-625] - BeanManager.resolve throw java.util.NoSuchElementException
with an empty set parameter
+ * [OWB-629] - NoClassDefFoundError for optional dependencies
+ * [OWB-630] - AmbiguousResolutionException thrown for Decorators that
Decorate multiple beans where any of those beans are passivation capable.
+ * [OWB-631] - openwebbeans-resource misses openwebbeans.properties
+
+Improvement
+
+ * [OWB-475] - support for optional beans
+ * [OWB-627] - Automatically destroy @Dependent contextual instances
created with Instance<T>
+
+
+-------------------------------------------
+Release Notes - OpenWebBeans - Version 1.1.2
+-------------------------------------------
+
+Bug
+
+ * [OWB-562] - non-enabled alternative beans with passivating scope fail
validation during deployment
+ * [OWB-589] - " ... requires a passivation capable dependency ..." for
producer method with return type String and non serializable injected dependency
+ * [OWB-597] - StackOverFlow when injecting product in same bean where
@Produces is placed
+ * [OWB-615] - remove @Overrides for interfaces to be java5 compatible
+ * [OWB-616] - javax.el.ExpressionFactory has final methods! CDI doesn't
allow that. - Test on final **PRIVATE** methods too?
+ * [OWB-618] - we sometimes invoke a dispose method without having created
the bean upfront
+ * [OWB-619] - @New beans must only exist if there is at least one
injection point for them
+ * [OWB-620] - any disabled bean of passivating scope will wrongly be
detected as 'not passivatable'
+ * [OWB-622] - beanmanager injection in afterBeanDiscovery method parameter
+ * [OWB-624] - AnnotatedTypes registered in BeforeBeanDiscovery might get
processed twice
+
+Improvement
+
+ * [OWB-623] - Relax check on @AroundInvoke Interceptors 'throws Exception'
+
+New Feature
+
+ * [OWB-621] - Alternative configuration method for buggy container or pre
servlet api 2.5 container
+
+
+-------------------------------------------
+Release Notes - OpenWebBeans - Version 1.1.1
+-------------------------------------------
+
+Bug
+
+ * [OWB-406] - BaseEjbBean.removedStatefulInstance used by multiple
instances/EjbBeanProxyHandlers
+ * [OWB-447] - unnecessary contextual/non-contextual distinction in
OpenWebBeansEJBIntercpetor
+ * [OWB-449] - EJB interceptor has incorrect/unnecessary use of business
method checks
+ * [OWB-483] - Problem with mulitple custom interceptors and passivation
+ * [OWB-512] - ApplicationContext and SingletonContext in WebContextsService
+ * [OWB-554] - DelegateHandler wraps Beans exceptions
+ * [OWB-558] - PassivationCapable bean id's for Producer Fields do not take
into account generics
+ * [OWB-561] - Multiple contexts with the same Scope are not handled
properly -- causing tck failures
+ * [OWB-563] - producers of passivating beans fail when the declared return
type is not serializable but the actual return type is
+ * [OWB-566] - ProcessInjectionTarget event gets fired too early
+ * [OWB-571] - fix site build under maven3 and upgrade logo
+ * [OWB-573] - Invalid checking of Interceptor serialization capabilities
for non-Passivation capable EJBs
+ * [OWB-576] - FileNotFoundException on WebSphere
+ * [OWB-577] - FileNotFoundException on WebSphere
+ * [OWB-578] - Allow DI for OpenWebBeansConfiguration properties
+ * [OWB-579] - check for non-proxyiable methods should exclude synthetic
methods
+ * [OWB-581] - Decorator interface check needs configurable exclusions
+ * [OWB-584] - check for declared name consistency for specializes beans is
wrong
+ * [OWB-585] - ProcessSessionBean doesn't deal with generic type quite
right (CDITCK-215)
+ * [OWB-586] - Interceptors added by portable extensions don't work
+ * [OWB-587] - Use business interface for producer and disposer methods of
Session beans
+ * [OWB-588] - PrincipalBean is misspelled
+ * [OWB-590] - Seam Persistence does not work with OWB -
AfterBeanDiscovery.addBean will be ignored
+ * [OWB-591] - EJB @Specializes inheritance
+ * [OWB-593] - Interceptor binding added on an interceptor class at
ProcessAnnotatedType phase is not considered
+ * [OWB-595] - Use case "Faces Request Generates Non-Faces Response" locks
conversation forever (-> BusyConversationException)
+ * [OWB-598] - InjectionResolver crashes with a NPE when injecting a method
parameter
+ * [OWB-599] - move getBeanXmls() back to Set<URL>
+ * [OWB-600] - cache information about non intercepted methdos in
ProxyHandlers
+ * [OWB-601] - WebContextsService only works if ServletContext is given
+ * [OWB-608] - openwebbeans-el10 plugin misses openwebbeans.properties
+ * [OWB-614] - add LICENSE and NOTICE files to all our samples
+
+Improvement
+
+ * [OWB-555] - ClassUtil methods contain spelling, camelcase, etc., type
errors
+ * [OWB-557] - #setAccessible(false) isn't needed
+ * [OWB-560] - upgrade the TCK to 1.0.4.SP1
+ * [OWB-564] - CdiTestOpenWebBeansContainer - check if a std.-context is
active before destroying it
+ * [OWB-582] - Support for Java 1.5 (needed for WebSphere 6.1)
+ * [OWB-583] - Support for Servlet API 2.4 (needed for WebSphere 6.1)
+ * [OWB-594] - create a configurable mapping
Scope->ProxyMethodHandlerImplementation
+ * [OWB-607] - upgrade our samples to newest available dependencies
+ * [OWB-610] - upgrade to apache parent pom 10
+ * [OWB-611] - adding ASF trademark documentation to our official site build
+ * [OWB-612] - upgrade various maven plugins
+ * [OWB-613] - Exclude Samples WARs Publishing with Maven
+
+Task
+
+ * [OWB-592] - EJB Specialization utility method
+
+
+
+-------------------------------------------
+Release Notes - OpenWebBeans - Version 1.1.0
+-------------------------------------------
+
+Bug
+
+ * [OWB-295] - resolve bugs in Javassist Proxy
+ * [OWB-417] - BaseEjbBean.destroyComponentInstance() should call direct
container remove API, not call an @Remove annotated method
+ * [OWB-422] - Support needed for PrePassivate, PostActivate, and
AroundTimeout via EJBInterceptor.
+ * [OWB-444] - Using Static Loggers in Shared ClassLoader
+ * [OWB-452] - set active flag to false then context is destroyed
+ * [OWB-456] - When multiple interceptors are defined for a bean OWB does
NOT correctly remove the overridden base Interceptors
+ * [OWB-469] - JSR299TCK: Security Error / Passivation errors during
readObject
+ * [OWB-470] - OWBInjector does not work correctly for EJB Beans
+ * [OWB-471] - Possible StackOverflowException from defineProducerMethods
in WebBeansAnnotatedTypeUtil
+ * [OWB-473] - bundles that use javasissist to proxy their contents need to
import some javassist packages
+ * [OWB-474] - InjectionTargetBean#injectSuperResources is missing
+ * [OWB-477] - Two instances of using ObjectInputStream that may not have
visibility into application classloader
+ * [OWB-480] - Avoid a couple NPEs
+ * [OWB-482] - Small issues
+ * [OWB-486] - ResourceBean tries to proxy final classes before testing
them for being final
+ * [OWB-489] - AnnotatedTypes added with
BeforeBeanDiscovery.addAnnotatedType method are ignored
+ * [OWB-490] - ProcessObserverMethod Type parameters are inverted
(CDITCK-174)
+ * [OWB-491] - Decorators init needs to scan superclasses for more
interfaces. cf CDITCK-178
+ * [OWB-492] - events don't get sent to private @Observes methods
+ * [OWB-493] - ProcessProducerMethod and ProcessProducerField type
parameters are reversed in filtering (?) CDITCK-168
+ * [OWB-494] - Subclasses with non-overriden observer methods not
recognized as beans with observer methods
+ * [OWB-496] - Don't replace the ProxyFactory classloaderProvider without
the intention to do so
+ * [OWB-499] - WEB-INF/beans.xml of a war will not activate Bean Archive
behaviour
+ * [OWB-502] - Only cache the ContextService once, in the SingletonService
+ * [OWB-504] - OwbApplicationFactory getWrapped should return wrapped
application factory
+ * [OWB-505] - OwbApplicationFactory should not be installed by default
+ * [OWB-509] - Unwrap InvocationTargetException in
ResourceProxyHandler.invokie
+ * [OWB-510] - return null instead of an unusable proxy if a resource is
missing
+ * [OWB-511] - Delegate actualInstance serialization behavior in
ResourceProxyHandler
+ * [OWB-514] - Leak in ELContextStore
+ * [OWB-519] - broken wls support
+ * [OWB-521] - ProducerMethodBean could theoretically produce a NPE
+ * [OWB-522] - Missing updateTimeout in one of begin methods for
conversation
+ * [OWB-523] - @SessionScoped bean failover does not work
+ * [OWB-524] - OWB classpath scanning of non-jars doesn't work if the
classpath contains spaces
+ * [OWB-527] - JspFactory.getDefaultFactory() is synchronized, We can cache
the return value to improve performance
+ * [OWB-529] - lazy initialized class members should be volatile
+ * [OWB-530] - multi massive execution of our Interceptor test unveils a
concurrency problem
+ * [OWB-531] - cleanup WebBeansELResolver#getValue
+ * [OWB-533] - concurrency bottleneck due to use of our logger
+ * [OWB-534] - Injection of @PersistenceContext does not work with
abstract/base classes
+ * [OWB-541] - replace WeakHashMap with a standard one in InterceptorHandler
+ * [OWB-542] - Disposer is called twice on Dependent beans when injected
into a managed object that is called from a JSP
+ * [OWB-543] - get rid of checked Exceptions in our SPI
+ * [OWB-545] - Cleanup our SecurityManager integration
+ * [OWB-546] - @Typed gets ignored if we use a AnnotatedType from an
Extension @Observing ProcessAnnotatedType
+ * [OWB-547] - WebContextsService throws NPE on asynchronous app startup
+ * [OWB-548] - missing null check in
DefaultContextsService#stopApplicationContext
+ * [OWB-550] - duplicated observer methods in case of @Specializes
+
+Improvement
+
+ * [OWB-209] - remove all <repositories> from our poms
+ * [OWB-254] - suppress initialising contextual handling for configurable
URIs.
+ * [OWB-335] - implement a sample for @ViewScoped in reservation
+ * [OWB-393] - remove old XML configuration code
+ * [OWB-448] - More changes for decorator and interceptor passivation
support
+ * [OWB-461] - source code quality
+ * [OWB-472] - archive centric beans.xml enabling
+ * [OWB-478] - make OWB build maven-3 aware
+ * [OWB-485] - AmbiguousResolutionException doesn't print details about the
injection point
+ * [OWB-500] - improved app-server support
+ * [OWB-503] - Reduce static synchronized hashmap usage
+ * [OWB-506] - Upgrade our samples to Apache MyFaces-2.0.3 and OpenJPA-2.0.1
+ * [OWB-507] - our samples should be prepared for EE as default
+ * [OWB-508] - Dependent scope proxies are needed to wrap the build-in
beans returned from the services if they are not serializable yet
+ * [OWB-516] - Get TCK standalone 1.0.4 CR2
+ * [OWB-517] - Conversation Log Improvement
+ * [OWB-518] - log all bean-archive markers
+ * [OWB-520] - spi for the webbeans-jee5-ejb-resource plugin
+ * [OWB-525] - create a findbugs filter file in our build-tools resource
+ * [OWB-526] - remove usage of java.net.URLs from ScannerService and drop
scannotation
+ * [OWB-535] - free ScannerService resources once we don't need it anymore
+ * [OWB-536] - revisit our Logger usage in our Bean impls
+ * [OWB-537] - clear() AnnotatedElementFactory after the deployment
+ * [OWB-539] - fill AnnotatedTypeImpl lazily
+ * [OWB-540] - StandaloneResourceInjectionService should cache info about
classes which don't contain EE resource injection points
+ * [OWB-544] - improve BeanManager#getContext performance
+
+New Feature
+
+ * [OWB-433] - add a configuration flag for switching to a lenient
lifecycle interceptor checking
+ * [OWB-501] - owb ee 5 resource integration
+ * [OWB-528] - Use ApplicationWrapper as parent of OwbApplication in JSF 2
plugin
+ * [OWB-532] - create a new BeanManager#isInUse()
+ * [OWB-538] - lazy loading of not explicitly marked (via annotation or
registered by extension) Dependent beans
+
+Question
+
+ * [OWB-383] - static fields in CreationalContext
+
+TCK Challenge
+
+ * [OWB-484] - Running TCK 1.0.1 Final and Respective Corrections
+
+Task
+
+ * [OWB-19] - Geronimo Integration
+ * [OWB-428] - implementation of equals and hashCode for AbstractOwbBean
+ * [OWB-453] - add a flag to disable context activation in EJB interceptor
+
+
+
+
+-------------------------------------------
+Release Notes - OpenWebBeans - Version 1.0.0
+-------------------------------------------
+
+Bug
+
+ * [OWB-318] - multiple methods with same EJB @interceptors(foo.class) in
same bean class get multiple interceptor instances
+ * [OWB-384] - OWB needs to call 299-defined PrePassivate, PostActivate,
and AroundTimeout interceptors for EJBs
+ * [OWB-422] - Support needed for PrePassivate, PostActivate, and
AroundTimeout via EJBInterceptor.
+ * [OWB-429] - OpenWebBeansEjbPlugin Class Hierarchy
+ * [OWB-438] - Cached Normal Scoped Proxy instances
+ * [OWB-439] - EjbPlugin session bean proxy creation thread safe problem
+ * [OWB-445] - we must not use javassist
ProxyFactory#setHandler(MethodHandler)
+ * [OWB-446] - EJB lifecycle callbacks not stacked correctly
+ * [OWB-450] - NullPointerException in
DependentScopedBeanInterceptorHandler when it has a NullCreationalContext
(normally from a EE component).
+ * [OWB-454] - ClassUtil.callInstanceMethod() doesn't propogate original
exception
+ * [OWB-455] - IllegalArgument method calling remove method of EJB during
destroy
+ * [OWB-456] - When multiple interceptors are defined for a bean OWB does
NOT correctly remove the overriden base Interceptors
+ * [OWB-457] - we must not create a SessionContext for static resource
reqeusts
+ * [OWB-460] - fix owb-openejb and owb-ejb artifactIds
+ * [OWB-464] - InjectionPointImpl using wrong class loader during
serialize/deserialize, dropping qualifiers, and omiting qualifier values.
+ * [OWB-466] - Ensure removal of all ThreadLocal values
+
+Improvement
+
+ * [OWB-177] - Handling of InterceptionType#POST_ACTIVATE, PRE_PASSIVATE
and AROUND_TIMEOUT is missing
+ * [OWB-407] - detailed information about exceptions
+ * [OWB-451] - Allow InterceptorUtil#callAroundInvokes to propogate a
callers 'creational context key'
+ * [OWB-459] - upgrade to newer library versions
+ * [OWB-463] - EjbDefinitionUtility.defineEjbBeanProxy() should be able to
create proxies for no-interface local beans
+ * [OWB-465] - enhance EJB common code for crude @LocalBean support
+
+TCK Challenge
+
+ * [OWB-394] - Any idea why our BeforeBeanDiscovery.addInterceptorBinding()
has different signature?
+
+Task
+
+ * [OWB-453] - add a flag to disable context activation in EJB interceptor
+ * [OWB-462] - Refactor AnnotationUtil.hasAnnotationMember()
+
+
+-------------------------------------------
+Release Notes - OpenWebBeans - Version 1.0.0-alpha-2
+-------------------------------------------
+Bug
+
+ * [OWB-303] - upgrade Javassist to a newer version
+ * [OWB-338] - our internal SessionContext and ConversationContext must
support Session serialization
+ * [OWB-385] - implement passivation of managed beans in
ServletContextListener
+ * [OWB-401] - ELContextStore not cleaned up for some JSP EL lookups
+ * [OWB-402] - OpenWebBeansJsfPlugin does not recognize @ManagedBean
+ * [OWB-404] - Contexts must not get stored in a static Map in BeanManager
+ * [OWB-405] - AnnotatedElementFactory must not use static cache maps
+ * [OWB-408] - NPE in WebBeansELResolver
+ * [OWB-415] - EjbBeanProxyHandler for dependent ejb must save ejb instance
+ * [OWB-416] - BaseEJBBean.destroyComponentInstance() tries to call
multiple remove methods
+ * [OWB-418] - EjbBeanProxyHandler must be 1:1 with proxy instances for
dependent SFSB
+ * [OWB-419] - fix @Dependent handling in ELResolver
+ * [OWB-420] - SingletonContext is mapped to @ConversationScoped
+ * [OWB-421] - defined-in-class EJB lifecycle callbacks masked by our
Interceptor
+ * [OWB-426] - Tweak EJBPlugin to work with Standalone Tests
+ * [OWB-431] - Generic Type Inheritance not resolved correctly
+ * [OWB-434] - ThreadLocal<SingletonContext> doen't get cleaned up
+ * [OWB-436] - AbstractContext bean instance creation is not thread safe
+ * [OWB-437] - Improve AbstractContext synchronization
+ * [OWB-440] - WebBeansDecoratorConfig.getDecoratorStack always returns new
Decorators
+ * [OWB-442] - our EJB proxies are broken when multiple local interfaces
are used on a single class
+ * [OWB-443] - Normal-scoped EJB not removed by container during
Contextual.destroy()
+
+Improvement
+
+ * [OWB-57] - cleanup problems found by maven-findbugs-plugin
+ * [OWB-195] - Give warning to the developer related with non- portable
operations
+ * [OWB-409] - create a name for OWB our faces-config.xml
+ * [OWB-410] - lazy initialisation of ejbInterceptors
+ * [OWB-411] - cache calls to isNormalScope()
+ * [OWB-412] - Allow container specific extensions to
WebConfigurationListener access to the lifecycle
+ * [OWB-413] - cache calls to ClassUtils#getObjectMethodNames()
+ * [OWB-414] - improve Interceptor performance
+ * [OWB-425] - improve performance of owb-el-resolver
+ * [OWB-427] - improve read-performance of AbstractOwbBean
+ * [OWB-430] - improve performance of WebBeansPhaseListener
+ * [OWB-432] - Create Singleton Service SPI
+ * [OWB-441] - new configuration properties mechanism
+
+Sub-task
+
+ * [OWB-193] - If an interceptor or decorator has any scope other than
@Dependent, non-portable behavior results.
+ * [OWB-194] - If an interceptor or decorator has a name, non-portable
behavior results.
+ * [OWB-196] - If an interceptor or decorator is an alternative,
non-portable behavior results.
+ * [OWB-197] - If a stereotype declares any other qualifier an- notation,
non-portable behavior results.
+ * [OWB-198] - If a stereotype is annotated @Typed, non-portable behavior
results.
+
+
+TCK Challenge
+
+ * [OWB-424] - Adding Document for How to Configure and Run TCK (standalone
and web profile TCKs)
+
+
+-------------------------------------------
+Release Notes - OpenWebBeans - Version 1.0.0-alpha-1
+-------------------------------------------
+Bug
+
+ * [OWB-216] - Update pom.xml svn links
+ * [OWB-231] - exception using abstract decorators
+ * [OWB-245] - Using parameterized type varaibles fails for Producer Method
injection
+ * [OWB-259] - Implement spec 11.5.5. ProcessModule event
+ * [OWB-289] - Owb return 2 beans for Indirect specialized producer beans
+ * [OWB-302] - InjectionPoint injections (both method and field based) in
Decorators result in null
+ * [OWB-312] - Add dopriv's to allow OWB to function with java 2 security
enabled
+ * [OWB-317] - creationalContext in InvocationContextImpl is always null
+ * [OWB-318] - multiple methods with same EJB @interceptors(foo.class) in
same bean class get multiple interceptor instances
+ * [OWB-327] - annotating an Interceptor with @ApplictionScoped leads to
OutOfMemory
+ * [OWB-329] - Interceptor instances get created each time the interceptor
gets called
+ * [OWB-332] - Destroy Depdent Of Producer Method Beans when Invocation
Completes
+ * [OWB-333] - InjectionTarget and Producer Handling
+ * [OWB-334] - cid is missing when using redirect for a jsf 2.0 application
+ * [OWB-336] - injected BeanManager must be Serializable
+ * [OWB-337] - events must not get broadcasted to beans which have no
active Context
+ * [OWB-339] - Injecting Non-Contextual Beans Causes NPE in WebBeansUtil
+ * [OWB-340] - BeanManagerImpl.createInjectionTarget() Throws Exception
When No Constructor Found
+ * [OWB-341] - CreationalContext#incompleteInstance should get cleaned
after create()
+ * [OWB-342] - InterceptorHandler crashes with NullPointerException after
deserialisation
+ * [OWB-343] - upgrade JPA spec from 1.0-PFD2 to 1.0 final revision
+ * [OWB-345] - Remove duplicate dependencies
+ * [OWB-351] - OWB picks up @SessionScoped contextual instances from
expired sessions
+ * [OWB-352] - Thread Safety Problem in our InterceptorHandlers, aka proxies
+ * [OWB-353] - NPE in removeDependents@CreationalContextImpl
+ * [OWB-354] - WebContextService may throw NPE in tiered classloading
environmemt
+ * [OWB-357] - WebbeansFinder should index first on ClassLoader, not
singleton type
+ * [OWB-359] - ownerCreationalContext sometimes causes NPE in
InterceptorDataImpl.createNewInstance()
+ * [OWB-361] - underlying EJB method not actually in our interceptors stack
+ * [OWB-362] - InvocationTargetException when invoking Stateless SessionBean
+ * [OWB-363] - Intermittent bug with ApplicationScope disposers not being
called
+ * [OWB-366] - ContextNotActiveException fired from
AppScope/NormalScopedBeanInterceptorHandler when a proxied object finalized
+ * [OWB-368] - The 299 spec (that I have) uses receive=IF_EXISTS but OWB
uses notifyObserver=IF_EXISTS.
+ * [OWB-369] - Static ContextsService in ContextFactory causes wrong
webContextService used for multiple applications
+ * [OWB-370] - Intransient Conversation context get rdestroyed randomly by
destroyWithRespectToTimout
+ * [OWB-371] - no lifecycle interceptors for non-contextual EJB
+ * [OWB-372] - creational context not cleaned up for non-contextual EJB
interceptions
+ * [OWB-373] - build crashes with missing artifact error
+ * [OWB-374] - migrate jsf2sample from sun to MyFaces
+ * [OWB-376] - [patch] Guess example broken with Jetty plugin 6.x due to EL
2.2
+ * [OWB-377] - revise logging
+ * [OWB-378] - ejb at bottom of decorator stack doesn't handle changed
method
+ * [OWB-380] - NormalScopedBeanInterceptorHandler throws NPE when handling
3rd party Contexts
+ * [OWB-381] - NPE thrown from AbstractInjectable if dependent producer
returns null
+ * [OWB-382] - injecting a @Dependent bean into a passivatation scoped bean
causes a NonSerializableException
+ * [OWB-387] - DependentContext Interceptor Double Call for PostConstruct
+ * [OWB-390] - fix broken links in our 'site'
+ * [OWB-396] - fix poms to work with maven 3
+ * [OWB-398] - DelegateHandler cached too agressively
+ * [OWB-399] - Proxy objects could not be correctly deserialized by using
javassist 3.11. we need to update to 3.12
+ * [OWB-400] - starting OWB as part of an EAR in geronimo causes a
exception due to missing 'bundle' protocol
+
+Improvement
+
+ * [OWB-116] - Update Business Method Definition
+ * [OWB-118] - Supports Decorators for Other Delegate Injections
+ * [OWB-136] - fix 'broken' license headers in our java files
+ * [OWB-170] - Address findbug issues in webbeans-impl
+ * [OWB-183] - Improve webbeans-doc module to get a documentation more user
friendly
+ * [OWB-214] - get rid of javax.transaction.Transaction dependency in
webbeans-impl
+ * [OWB-237] - NoSuchElementException when WebBeansConfigurationListener is
absent
+ * [OWB-275] - remove unused imports and cleanup code
+ * [OWB-286] - java.lang.NoClassDefFoundError: javax/validation/Validator
+ * [OWB-313] - create caching strategies for resolving Bean<T> for
BeanManager and EL invocations
+ * [OWB-314] - cache resolved instances in NormalScopedBeanMethodHandlers
of @ApplicationScoped beans
+ * [OWB-315] - cache resolved instances in NormalScopedBeanMethodHandlers
of @SessionScoped beans
+ * [OWB-319] - Strange logging when writing non-Serializable SessionScoped
bean
+ * [OWB-320] - Remove Java EE Dependencies from WebBeans Core
+ * [OWB-322] - Create new EJB project and separate common EJB classes from
OpenEJB plugin
+ * [OWB-325] - Relocate SPI Classes to SPI Module. Change JSR299, JSR330 as
optional pom dependency.
+ * [OWB-326] - improve producer tests
+ * [OWB-328] - improve logger performance
+ * [OWB-330] - reduce BeanManagerImpl#getManager() calls inside the same
functions
+ * [OWB-331] - Cache Interceptor & Decorator Stack oon Interceptor Handler
+ * [OWB-346] - Make EJB samples running
+ * [OWB-347] - Using InjectableBeanManager in TCK
+ * [OWB-349] - ignore exception during type hierarchy scan
+ * [OWB-350] - Support Interceptor for non-contextual EJBs
+ * [OWB-355] - OpenEjbBean should look for @Remove methods
+ * [OWB-356] - EjbPlugin only looks for DeployementInfo once, so new
deployed application won't be discovered
+ * [OWB-358] - provide property to skip injection in @PostConstruct of
OpenWebBeansEjbInterceptor
+ * [OWB-360] - Add BeanManager to a ServletContext attribute
+ * [OWB-364] - Reduce the amount of info level logging
+ * [OWB-365] - make injection optional in OWBEJBInterceptor
+ * [OWB-375] - Performance: OWB logging performs operations when logging
disabled.
+ * [OWB-379] - upgrade to final atinject-spec artifact
+ * [OWB-386] - upgarde CDI TCK to 1.0.2.CR1
+ * [OWB-389] - atinject-tck upgrade to final 1.0 release
+ * [OWB-397] - Add helper method and some debug to WebBeansFinder
+
+New Feature
+
+ * [OWB-316] - Implement a generic TestContainer for CDI implementations
+ * [OWB-323] - Provide methods to pass classloader into ServiceLoader and
WebBeansFinder for use in tiered classloader situations
+ * [OWB-324] - Add Tomcat Plugin
+ * [OWB-348] - Adding Interceptor and Decorator Support for EJB Beans
+ * [OWB-395] - OpenWebBeans Tomcat 7 Support
+
+TCK Challenge
+
+ * [OWB-388] - Pass TCK 1.0.2 CR1 Web Profile
+
+Task
+
+ * [OWB-6] - Scope passivation
+ * [OWB-14] - Update WebBeans Lifecycle for Servlet Beans
+ * [OWB-46] - Injection into non-contextual objects
+ * [OWB-204] - Update Samples for JSF2 Usage
+ * [OWB-220] - Update site.xml links and bread crumbs to point to
non-incubator.
+ * [OWB-310] - Drop dom4j and use jre builtin xml parsers for processing
beans.xml
+ * [OWB-391] - create a owb-build-tools project to maintain project
specific checkstyle rules, etc.
+
+Test
+
+ * [OWB-56] - Integrate the official JSR-299 TCK test suite
+ * [OWB-222] - Update website download link, and fix relative URL
translation
+ * [OWB-367] - Add a unit test for IF_EXISTS
+
+
+----------------------------------------------
+Required Platform
+----------------------------------------------
+Java Version : Java SE >= 5.0
+Java EE Must : Java EE >= 5.0
+
+---------------------------------------------
+How to Configure OpenWebBeans
+---------------------------------------------
+
+This section explains a content of the distribution bundle, OWB plugins and its
+dependent libraries.
+
+---------------------------------------------
+1.1.4 Distribution Content
+---------------------------------------------
+There are several jars in the OpenWebBeans 1.0.0 distribution;
+
+ - openwebbeans-impl-1.1.4.jar --> Includes Core Dependency Injection
Service.
+ - openwebbeans-ejb-1.1.4.jar --> EJB Plugin(Supports EJBs in OpenEJB
embedded in Tomcat).
+ - openwebbeans-jms-1.1.4.jar --> JMS Plugin(Supports injection of JMS
related artifacts,i.e, ConnectionFactory, Session, Connection etc.)
+ - openwebbeans-jsf-1.1.4.jar --> JSF-2.0 Plugin(JSF Conversation Scoped
Support).
+ - openwebbeans-jsf12-1.1.4.jar --> JSF-1.2 Plugin(JSF Conversation Scoped
Support).
+ - openwebbeans-resource-1.1.4.jar --> Java EE Resource Injection for Web
Projects (Includes @PersistenceContext,@PersistenceUnit
+ and @Resource injection into the
Managed Beans. @Resource injections use java:/comp/env of the
+ Web application component.
@PersistenceContext is based on extended EntityManager.
+ - openwebbeans-spi-1.1.4.jar --> OpenWebBeans Server Provider
Interfaces. They are implemented by runtime environments that would
+ like to use OpenWebBeans as a
JSR-299 implementation.
+ - samples --> Includes source code of the samples.
Samples are mavenized project therefore you can easily build and run
+ them from your environment that has
maven runtime.
+ - openwebbeans-osgi-1.1.4.jar --> ClassPath ScannerService SPI
implementation for OSGI environments like Apache Geronimo-3
+ - openwebbeans-web-1.1.4.jar --> Basic Servlet integration
+ - openwebbeans-tomcat6-1.1.4.jar --> Support for deeper integration into
Apache Tomcat-6
+ - openwebbeans-tomcat7-1.1.4.jar --> Support for deeper integration into
Apache Tomcat-7
+
+
+
+
+------------------------------------------
+How OWB Plugins Work
+------------------------------------------
+
+OpenWebBeans has been developed with a plugin architecture. The Core
dependency injection service
+is provided with openwebbeans-impl. If you need further service functionality,
+you have to add respective plugin jars into the application classpath.
OpenWebBeans
+uses the Java SE 6.0 java.util.ServiceLoader mechanism to pickup plugins at
runtime.
+If you run under Java SE 5.0, an similar hand written implementation will be
used.
+Please do not confuse OWB plugins with portable Extensions! OWB plugins are for
+internal use only whereas portable CDI Extensions will run on any JSR-299
container.
+
+Current Plugins:
+---------------------
+Look at "1.1.4 Distribution Content" above.
+
+------------------------------------------
+Dependent Libraries
+------------------------------------------
+
+Third Party jars:
+-----------------
+They are necessary at runtime in the Core Implementation.
+
+javassist : Version 3.12.0.GA
+scannotation : Version 1.0.2 (if not running in an OSGi environment like
Apache Geronimo-3)
+
+Java EE APIs jars(Container Provider Libraries) :
+-------------------------------------------------
+Generally full Java EE servers provides these jars. But web containers like
Tomcat or Jetty
+do not contain some of them, such as JPA, JSF, Validation API etc. So, if you
do not want to bundle
+these libraries within your application classpath, you have to include these
libraries in your
+server common classpath.
+
+jcdi-api (JSR-299 Specification API)
+atinject-api (JSR-330 Specification API)
+servlet-2.5 or servlet 3.0 (Servlet Specification API)
+ejb-3.1 (EJB Specification API)
+el-2.2 (Expression Langauge Specification API)
+jsf-2.0 (Java Server Faces API)
+jsr-250 (Annotation API)
+interceptor-1.1 (Interceptor API)
+jta-1.1 (Java Transaction API)
+jsp.2.1 or jsp-2.2 (Java Server Pages API)
+jpa-2.0 (Java Persistence API)
+jaxws-2.1 or jaxws-2.2 (Java Web Service API)
+jms-1.1 or jms-1.2 (Java Messaging Service API)
+validation (Validation Specification)
+
+Dependencies of OpenWebBeans Maven Modules&Plugins
+--------------------------------------------------
+
+openwebbeans-impl :
+------------------
+Third party : javassist, scannotation, openwebbeans-spi
+Container Provided : jcdi-api, at-inject, servlet, el, jsr-250, interceptor,
jta, jsp, validation
+
+openwebbeans-ejb:
+-----------------
+Third party : openwebbeans-impl and its dependencies
+Container Provided : OpenWebBeans EJB plugin is based on OpenEJB in Tomcat.
Therefore, if you install OpenEJB
+ within Tomcat correctly, there is no need to add any
additional libraries. Look at the
+ OpenEJB in Tomcat configuration section.
+
+openwebbeans-jms:
+-----------------
+Third party : openwebbeans-impl and its dependencies
+Container Provided : jms
+
+openwebbeans-jsf:
+-----------------
+Third party : openwebbeans-impl and its dependencies
+Container Provided : jsf
+
+NOTE : We are trying to decrease dependent libraries of the our core, i.e,
openwebbeans-impl.
+At 1.1.4, dependent third party libraries will be decreased. We have a plan to
create profile
+plugins, therefore each profile plugin provides its own dependent libraries.
For example, in
+fully Java EE Profile Plugin, Transaction API is supported but this will not
be the case
+for Java Web Profile Plugin or Java SE Profile Plugin. Stay Tuned!
+
+Currently, as you have seen above, openwebbeans-impl depends on some Java
EE/Runtime
+provided libraries (servlet, jsp, el etc). In the future, with OpenWebBeans
profiling support,
+openwebbeans-impl will not depend on any Java EE APIs. Those APIs will be
provided
+by OpenWebBeans profiles/plugins that openwebbeans-impl will be used.
Therefore,
+you will able to use OpenWebBeans in your own runtime environment easily by
writing
+your own plugins and contributing it to OpenWebBeans :)
+
+------------------------------------------
+Library Configuration
+------------------------------------------
+To run openwebbeans applications in the Java EE based application server,
+you could add the JSR-299 API and JSR-330 API into the server common
classpath, and
+implementation, plugins and dependent jars into your "WEB-INF/lib" directory
+of the Java EE Web Application.
+
+In this release, we can not support the OpenWebBeans as an integrated
+functionality of the Java EE Application Servers. So, you have to manage the
+configuration of the OpenWebBeans within your application's "web.xml" file. A
sample "web.xml"
+file can be found in the "config" directory. To use EJB functionality, you
also have to
+add OWB specific interceptor into your EJB beans. Look at the EJB section of
this readme
+for further details.
+
+---------------------------------------------
+OpenWebBeans Properties File
+---------------------------------------------
+OpenWebBeans uses a default configuration file to configure some of its
+properties. Default configuration files are embedded into OWB implementation
+jar files. Instead of opening the jars file and changing configuration
properties, simply add
+an "openwebbeans.properties" file into a "META-INF/openwebbeans" folder of
your application
+classpath. This will override the values from the default configuration.
+You can specify a property 'configuraion.ordinal' in this file to define the
overlay order.
+A properties file with higher 'configuration.ordinal' value will applied later
and thus
+have a higher precedence. If you don't specify a 'configuration.ordinal' a
value of 100 is assumed;
+This allows to have multiple openwebbeans.properties files e.g. a common one
in an EAR lib
+(with configuration.ordinal=100) and more specific ones for each WebApp in
your EAR (with a
+configuration.ordinal of e.g. 101).
+
+Each plugin developer can provide their own SPI implementation class and own
configuration values. If you would like
+to use those implementation classes or configuration values, you have to
override the default configuration file as explained
+in the above paragraph, i.e, putting "openwebbeans.properties" file into
"META-INF/openwebbeans" folder of your application.
+It is recommended to use a 'configuration.ordinal' between 50 and 99 for
custom SPI implementations.
+
+Below are OpenWebBeans' default configuration properties from our
openwebbeans-impl.jar file and our plugins such as
+our OpenEJB plugin.
+
+Override default value of ResourceInjectionService
+-------------------------------------------------
+org.apache.webbeans.spi.ResourceInjectionService=org.apache.webbeans.ejb.resource.OpenEjbResourceInjectionService
+
+OpenWebBeans uses the "OpenEjbResourceInjectionService" class to inject
resources into the managed bean instances.
+
+Configuration Names and Their Default Values :
+
+- "org.apache.webbeans.spi.ContainerLifecycle"
+ Description : Implementation of org.apache.webbeans.spi.ContainerLifecycle.
All magic starts from here.
+ Values : org.apache.webbeans.lifecycle.DefaultLifecycle, OR CUSTOM
+ Default : org.apache.webbeans.lifecycle.DefaultLifecycle
+
+- "org.apache.webbeans.spi.JNDIService"
+ Description : Configures JNDI provider implementation.
+ Values : org.apache.webbeans.spi.se.DefaultJndiService OR CUSTOM
+ Default : org.apache.webbeans.spi.se.DefaultJndiService
+
+- "org.apache.webbeans.spi.conversation.ConversationService"
+ Description : Implementation of conversation.
+ Values :
org.apache.webbeans.spi.conversation.jsf.DefaultConversationService OR CUSTOM
+ Default :
org.apache.webbeans.spi.conversation.jsf.DefaultConversationService
+
+- "org.apache.webbeans.spi.ScannerService"
+ Description : Default implementation of
org.apache.webbeans.spi.ScannerService. It is used for scanning application
deployment
+ for finding bean classes and configuration files.
+ Values : org.apache.webbeans.spi.ee.deployer.DefaultScannerService OR
CUSTOM
+ Default : org.apache.webbeans.spi.ee.deployer.DefaultScannerService
+
+- "org.apache.webbeans.spi.SecurityService"
+ Description : Implementation of org.apache.webbeans.spi.SecurityService.
It is used for getting current "Principal".
+ Values : org.apache.webbeans.spi.se.DefaultSecurityService or CUSTOM
+ Default : org.apache.webbeans.spi.se.DefaultSecurityService
+
+- "org.apache.webbeans.spi.ValidatorService"
+ Description : Implementation of org.apache.webbeans.spi.ValidatorService.
It is used for getting "ValidatorFactory" and "Validator".
+ Values : org.apache.webbeans.spi.se.DefaultValidatorService or CUSTOM
+ Default : org.apache.webbeans.spi.se.DefaultValidatorService
+
+- "org.apache.webbeans.spi.TransactionService"
+ Description : Implementation of
org.apache.webbeans.spi.TransactionService. It is used for getting
"TransactionManager" and "Transaction".
+ Values : org.apache.webbeans.spi.se.DefaultTransactionService or
CUSTOM
+ Default : org.apache.webbeans.spi.se.DefaultTransactionService
+
+- "org.apache.webbeans.spi.ResourceInjectionService"
+ Description : Implementation of
org.apache.webbeans.spi.ResourceInjectionService. It is used for injection Java
EE enviroment resource into the
+ Managed Bean instances.
+ Values : org.apache.webbeans.se.DefaultResourceInjectionService or
CUSTOM
+ Default : org.apache.webbeans.se.DefaultResourceInjectionService
+
+- "org.apache.webbeans.spi.JNDIService.jmsConnectionFactoryJndi"
+ Description : Configures JMS ConnectionFactory object jndi name
+ Values : Server specific JNDI name
+ Default : ConnectionFactory
+
+- "org.apache.webbeans.conversation.Conversation.periodicDelay"
+ Description : Conversation removing thread periodic delay
+ Values : Configured in millisecond
+ Default : 150000 ms
+
+- "org.apache.webbeans.spi.deployer.useEjbMetaDataDiscoveryService"
+ Description : Use EJB functionality or not. If use OpenEJB configures to
true
+ Values : false, true
+ Default : false
+
+- "org.apache.webbeans.spi.FailOverService"
+ Description : Implementation of the
org.apache.webbeans.spi.FailOverService. It is used for enabling
passivation/failover beans.
+ Values : org.apache.webbeans.web.failover.DefaultOwbFailOverService
or CUSTOM
+ Default : org.apache.webbeans.web.failover.DefaultOwbFailOverService
+
+- "org.apache.webbeans.web.failover.issupportfailover"
+ Description : Support failover of beans or not
+ Values : false, true
+ Default : false
+
+- "org.apache.webbeans.web.failover.issupportpassivation"
+ Description : Support passivation of beans or not
+ Values : false, true
+ Default : false
+
+- "org.apache.webbeans.forceNoCheckedExceptions"
+ Description : The interceptors spec defines that @PostConstruct & Co must
not throw checked Exceptions. Setting this configuration to 'false' disables
this check.
+ Values : false, true
+ Default : true
+
+- "org.apache.webbeans.spi.SecurityService"
+ Description : Service to provide methods which must be guarded via
doPrivileged blocks.
+ Values : org.apache.webbeans.corespi.security.SimpleSercurityService
or org.apache.webbeans.corespi.security.ManagedSecurityService
+ Default : org.apache.webbeans.corespi.security.SimpleSercurityService
+
+
+---------------------------------------------
+EJB Support via Embeddable OpenEJB Container in Tomcat 6.X
+---------------------------------------------
+
+Configuration Steps:
+--------------------------------------------
+1* Download Tomcat 6.X version
+2* Configure OpenEJB. Look at URL http://openejb.apache.org/tomcat.html for
installation.
+3* Copy JSR-330 API to Tomcat /lib folder.
+4* Copy JSR-299 API to Tomcat /lib folder
+5* Put all dependent libraries of the OpenWebBeans OpenEJB Plugin
+ - openwebbeans-ejb
+ - openwebbeans-impl and its dependencies
+
+You could look at ejb-sample.war for "WEB-INF/lib" libraries as an example to
develop custom applications.
+The source of this project is also available.
+
+To use EJB functionality, you will use OpenEJB collapse-ear support. In this
configuration,
+your EJB beans live within your "war" bundle.
+
+How to Develop EJB Applications
+---------------------------------------------
+1* Add "META-INF/openwebbeans.properties" into your application classpath.
+2* Add "org.apache.webbeans.spi.deployer.useEjbMetaDataDiscoveryService=true"
to use EJB functionality.
+ So OWB container looks for EJBs.
+3* Add
"org.apache.webbeans.resource.spi.ResourceService=org.apache.webbeans.ejb.resource.OpenEjbResourceInjectionService
to
+use OpenEJB Resource injections.
+4* Add "openwebbeans-ejb", plugin into your web application classpath.
+5* If you want to use other plugins, add respective plugins into your
application classpath. For example, if you wish to use
+JSF framework, you add "openwebbeans-jsf" plugin.
+6* Add OWB related interceptor into your EJB Beans. This is called
"org.apache.webbeans.ejb.interceptor.OpenWebBeansEjbInterceptor"
+This is needed for OWB injections.
+7* Update your application's "web.xml" to add OWB specific configuration.
+
+---------------------------------------------
+How to Run Samples
+---------------------------------------------
+
+In this release, there are several sample applications located in the
"/samples" directory
+of the distribution. You can run those samples via simple maven command.
+
+1) "Guess Application" : Simple usage of the OWB + JSF.
+It can be run in the jetty web container via maven jetty plugin from source.
+Look at "Compile and Run Samples via Jetty&Tomcat Plugin" section.
+
+2) "Hotel Reservation Application" : Show usage of JSF + JPA + OWB
+It can be run in the jetty web container via maven jetty plugin from source.
+Look at "Compile and Run Samples via Jetty&Tomcat Plugin" section.
+
+3) "EJB Sample Application" : Shows the usage of EJBs with embeddable OpenEJB
in Tomcat. Firstly
+configure OpenEJB with Tomcat as explained above.
+Look at "Compile and Run Samples via Jetty&Tomcat Plugin" section.
+
+4) "EJB Telephone Application" : Shows the usage of OpenEJB resource injection
service.
+Look at "Compile and Run Samples via Jetty&Tomcat Plugin" section.
+
+5) "JMS Injection Sample" : Show JMS injections. JMS injection currently uses
+ ConnectionFactory as JMS connection factory jndi name. You can change this
+ via configuration file. Look above explanation for how to configure JMS
jndi. Also,
+ JMS injection requires to use of a JMS provider. Generally Java EE servers
contains
+ default JMS provider. It can be run on JBoss and Geronimo. It uses Queue
with jndi_name = "queue/A".
+ So you have to create a queue destination in your JMS provider with name
"queue/A" to run example.
+ If you want to change queue jndi name, then look at source and change it
from "WEB-INF/beans.xml" file.
+
+6) "Conversation Sample" : Shows usage of JSF conversations.
+It can be run in the jetty web container via maven jetty plugin from source.
+Look at "Compile and Run Samples via Jetty&Tomcat Plugin" section.
+
+7) "JSF2 Sample" : Shows usage of JSF2 Ajax.
+It can be run in the jetty web container via maven jetty plugin from source.
+Look at "Compile and Run Samples via Jetty&Tomcat Plugin" section. It requires
+to use JSF2 runtime.
+
+
+8) "Standalone Sample" : Shows usage of OpenWebBeans in Standalone Swing
Application.
+Look at "OpenWebBeans in Java SE" section.
+
+Configuring and Running the Applications:
+--------------------------------------------
+See section Compile and Run Samples via Jetty&Tomcat Plugin.
+
+--------------------------------------------
+Maven Install and Package From the Source
+--------------------------------------------
+
+Maven Version : Apache Maven 2.2.1 or later
+
+First you have to download the "source" version of the OpenWebBeans project
that
+contains the all source code of the OpenWebBeans.
+
+To install the Maven artifacts of the project from the source, Maven must be
installed
+in your runtime. After Maven installation, just run the following command in
the top level
+directory that contains the main "pom.xml" :
+
+> mvn clean install
+
+This command will install all the Maven artifacts into your local Maven
repository.
+
+If you wish to package all artifacts of the project, just run the following
command
+in in the top level directory that contains the main "pom.xml" :
+
+> mvn clean package
+
+This command will package the project artifacts from the source and put these
artifacts into the each modules
+respective "target" directory.
+
+-------------------------------------------
+Compile and Run Samples via Tomcat&Jetty Plugin
+-------------------------------------------
+This section shows how to run samples in Jetty or OpenEJB Embedded Tomcat.
+
+------------------------------------------
+Samples Run within Jetty Plugin
+------------------------------------------
+You can compile and run "guess","jsf2","conversation-sample" and "reservation
"samples via maven Jetty plugin.
+Go to the source bundle "samples/" directory. In the "guess/" or
"reservation/" directory, run
+the following maven commands. It will start up maven Jetty container. It
bundles all of the
+required jars into the WEB-INF/lib folder. You are not required to add any jar
to the classpath.
+
+Samples : Guess and Reservation
+------------------------------
+Go to the source folder of projects and run
+
+> mvn clean install -Pjetty
+> mvn jetty:run -Pjetty
+
+Guess URL : http://localhost:8080/guess
+Reservation URL : http://localhost:8080/reservation
+
+Samples : Conversation Sample and JSF2
+-------------------------------------
+Go to the source folder of projects and run
+
+>mvn clean install
+>mvn jetty:run
+
+Conversation Sample URL : http://localhost:8080/conversation-sample
+JSF2 Sample URL : http://localhost:8080/jsf2sample
+
+------------------------------------------
+Samples Run within Tomcat Plugin
+------------------------------------------
+OpenEJB samples are run with Maven Tomcat Plugin.
+
+Tomcat Plugin uses http://localhost:8080/manager application to deploy war file
+into your embeddable EJB Tomcat container. There must be an tomcat-users.xml
+file in the "conf" directory of the server that contains manager role and
username.
+
+>Start Tomcat server if not started
+>mvn tomcat:deploy
+
+Ejb Sample URL : http://localhost:8080/ejb-sample
+Ejb Telephone URL : http://localhost:8080/ejb-telephone
+
+Example tomcat-users.xml file
+------------------------------------------
+<tomcat-users>
+<role rolename="manager"/>
+<user username="admin" password="" roles="manager"/>
+</tomcat-users>
+
+-----------------------------------------
+Deploy JMS Sample
+-----------------------------------------
+Simple drops jms-sample.war file into your application deploy location.
+
+JMS Sample Example URL : Hit the url
http://localhost:8080/jms-sample/sender.jsf for sending JMS messages
+ Hit the url
http://localhost:8080/jms-sample/receiver.jsf for receiving JMS messages
+
+-----------------------------------------
+OpenWebBeans in Java SE
+----------------------------------------
+OpenWebBeans can be used in Java SE environments such as Java Swing
+applications. A Standalone Sample is provided to show how to use OpenWebBeans
+in Java SE.
+
+Go to the source directory of the standalone sample:
+>mvn clean package;
+>cd target;
+>jar -xvf standalone-sample.jar
+>java -jar standalone-sample-1.1.4-SNAPSHOT.jar
+>Enjoy :)
+
+-----------------------------------------------
+OpenWebBeans User and Development Mailing Lists
+-----------------------------------------------
+Please mail to the user mailing list with any questions or advice
+about the OpenWebBeans.
+
+User Mailing List : [[email protected]]
+
+You can also join the discussions happening in the dev list
+
+Dev Mailing List : [[email protected]]
+
+-------------------------------------------
+OpenWebBeans JIRA Page
+-------------------------------------------
+Please logs bugs into the "https://issues.apache.org/jira/browse/OWB".
+
+------------------------------------------
+OpenWebBeans Wiki and Blog Page
+-----------------------------------------
+Wiki: http://cwiki.apache.org/OWB/
+Introduction to OpenWebBeans :
http://cwiki.apache.org/OWB/introduction-to-openwebbeans.html
+Blog : http://blogs.apache.org/owb
+
+-----------------------------------------
+OpenWebBeans Web Page
+----------------------------------------
+You can reach the OpenWebBeans web page at
+http://openwebbeans.apache.org
+---------------------------------------
+
+Your Apache OpenWebBeans Team
+
+Enjoy!
Propchange: openwebbeans/trunk/readme/README_1_1_4.txt
------------------------------------------------------------------------------
svn:eol-style = native