Entries tagged [javaee]
Apache OpenWebBeans-2.0.27 has been released
The Apache OpenWebBeans Team is proud to announce the release of Apache OpenWebBeans-2.0.27.
Apache OpenWebBeans-2.0.x is an Apache License v2 licensed implementation of the JSR-365 CDI-2.0 specification.
OpenWebBeans has a modular structure and provides Dependency Injection scaling from Java SE environments up to Java EE8 server clusters with complicated ClassLoader hierarchies or OSGi environments.
This is a maintenance release targetting the Contexts and Dependency Injection CDI 2.0 specification!
CDI is a JavaEE standard (JSR-365) but fully available under Apache License v2.0.
http://cdi-spec.org/
https://docs.jboss.org/cdi/spec/2.0/cdi-spec.html
Apache OpenWebBeans-2.0.27 implements the CDI-2.0 API, and passes the JSR-330 and JSR-365 TCKs.
Distribution packages can be downloaded from https://www.apache.org/dyn/closer.lua/openwebbeans/2.0.27/
Hashes can be found here https://www.apache.org/dist/openwebbeans/2.0.27/
The release is also available in maven.central https://repo1.maven.apache.org/maven2/org/apache/openwebbeans/
More info can be found at
https://openwebbeans.apache.org
Posted at 02:38PM Jan 22, 2023
by struberg in General |
|
Apache OpenWebBeans-2.0.18 has been released
The Apache OpenWebBeans Team is proud to announce the release of Apache OpenWebBeans-2.0.18.
Apache OpenWebBeans-2.0.x is an Apache License v2 licensed implementation of the JSR-365 CDI-2.0 specification.
OpenWebBeans has a modular structure and provides Dependency Injection scaling from Java SE environments up to Java EE8 server clusters with complicated ClassLoader hierarchies or OSGi environments.
This is a maintenance release targetting the Contexts and Dependency Injection CDI 2.0 specification!
CDI is a JavaEE standard (JSR-365) but fully available under Apache License v2.0.
http://cdi-spec.org/
https://docs.jboss.org/cdi/spec/2.0/cdi-spec.html
Apache OpenWebBeans-2.0.18 implements the CDI-2.0 API, and passes the JSR-330 and JSR-365 TCKs.
Distribution packages can be downloaded from https://www.apache.org/dyn/closer.lua/openwebbeans/2.0.18/
Hashes can be found here https://www.apache.org/dist/openwebbeans/2.0.18/
The release is also available in maven.central https://repo1.maven.apache.org/maven2/org/apache/openwebbeans/
More info can be found at
https://openwebbeans.apache.org
The following tickets got fixed in this release:
Sub-task
[OWB-1346] - prevent scanning of generated proxies
Bug
[OWB-1281] - java.lang.UnsatisfiedLinkError in scanner stops application deployment
[OWB-1328] - NPE in AbstractMetaDataFactory
[OWB-1332] - BeansDeployer#packageVetoCache does not work for negative hits
[OWB-1333] - [junit5] @Cdi#onStart not working
[OWB-1341] - Event bus: IN_PROGRESS phase should not be sent to transactionService
[OWB-1342] - Improve startup performance
[OWB-1344] - Ensure creating annotatedtype is thread safe at runtime
Task
[OWB-1327] - Run TCK for jakarta packaging
[OWB-1329] - Remove openwebbeans-maven module
[OWB-1330] - Junit5 parameter resolver companion for @Cdi
[OWB-1331] - Create ajunit5 @Scopes extension to be able to control a bit more the started scopes
[OWB-1343] - Add a property to skip @Vetoed check on packages
[OWB-1345] - Upgrade gradle shadow plugin support to v6.0.0
[OWB-1347] - upgrade to apache-parent 23
Posted at 07:15AM Sep 11, 2020
by struberg in Java |
|
Apache OpenWebBeans-2.0.17 has been released
The Apache OpenWebBeans Team is proud to announce the release of Apache OpenWebBeans-2.0.17.
Apache OpenWebBeans-2.0.x is an Apache License v2 licensed implementation of the JSR-365 CDI-2.0 specification.
OpenWebBeans has a modular structure and provides Dependency Injection scaling from Java SE environments up to Java EE8 server clusters with complicated ClassLoader hierarchies or OSGi environments.
This is a maintenance release targetting the Contexts and Dependency Injection CDI 2.0 specification!
CDI is a JavaEE standard (JSR-365) but fully available under Apache License v2.0.
http://cdi-spec.org/
https://docs.jboss.org/cdi/spec/2.0/cdi-spec.html
Apache OpenWebBeans-2.0.17 implements the CDI-2.0 API, and passes the JSR-330 and JSR-365 TCKs.
Distribution packages can be downloaded from https://www.apache.org/dyn/closer.lua/openwebbeans/2.0.17/
Hashes can be found here https://www.apache.org/dist/openwebbeans/2.0.17/
The release is also available in maven.central https://repo1.maven.apache.org/maven2/org/apache/openwebbeans/
More info can be found at
https://openwebbeans.apache.org
The following tickets got fixed in this release:
Bug
- [OWB-1214] - Package annotation access is fragile
Task
- [OWB-1322] - SLF4J integration workaround for log4j2-slf4j implementation which can fail in NPE on java >= 9
- [OWB-1323] - Upgrade to asm8
- [OWB-1324] - Support maven shade 3.2.3
- [OWB-1325] - Provide a SPI flavor of ClassDefiningService
- [OWB-1326] - Bean#isNullable is ignored since CDI-1.1.
Posted at 07:52AM Sep 07, 2020
by struberg in General |
|
Apache OpenWebBeans-2.0.8 has been released
The Apache OpenWebBeans Team is proud to announce the release of Apache OpenWebBeans-2.0.8.
Apache OpenWebBeans-2.0.x is an Apache License v2 licensed implementation of the JSR-365 CDI-2.0 specification.
OpenWebBeans has a modular structure and provides Dependency Injection scaling from Java SE environments up to Java EE8 server clusters with complicated ClassLoader hierarchies or OSGi environments.
This is a maintenance release targetting the Contexts and Dependency Injection CDI 2.0 specification!
CDI is a JavaEE standard (JSR-365) but fully available under Apache License v2.0.
http://cdi-spec.org/
https://docs.jboss.org/cdi/spec/2.0/cdi-spec.html
Apache OpenWebBeans-2.0.8 implements the CDI-2.0 API, and passes the JSR-330 and JSR-365 TCKs.
Distribution packages can be downloaded from http://www.apache.org/dyn/closer.lua/openwebbeans/2.0.8/
Hashes can be found here http://www.apache.org/dist/openwebbeans/2.0.8/
The release is also available in maven.central https://repo1.maven.apache.org/maven2/org/apache/openwebbeans/
More info can be found at
http://openwebbeans.apache.org
The following tickets got fixed in this release:
Bug
- [OWB-1257] - Conditional exclusion of beans in beans.xml does not honor system property
- [OWB-1263] - Generic observers not called correctly
- [OWB-1264] - Observers method throws NoClassDefFoundError for optional classes
- [OWB-1269] - TomcatSecurityService principal is not the contextual one out of request scope beans
Improvement
- [OWB-1261] - Upgrade ASM to version 7
- [OWB-1265] - [perf] cache AnnotationManager#getRepeatableMethod
- [OWB-1266] - [perf] InjectionResolver cache can be activated earlier
Task
- [OWB-1268] - Upgrade to xbean 4.12
Posted at 12:49PM Nov 12, 2018
by struberg in General |
|
Apache Meecrowave-1.2.4 has been released
The Apache OpenWebBeans team is proud to announce the release of Apache Meecrowave 1.2.4
Apache Meecrowave is a small java enterprise application server framework fully based on Apache Tomcat9 and other JavaEE 8 technologies.
Apache Tomcat-9.0.12 (Servlets-4.0)
Apache OpenWebBeans-2.0.7 (CDI-2.0)
Apache Johnzon-1.1.10 (JSON-P-1.1 and JSON-B-1.0), and
Apache CXF-3.2.6 (JAX-RS-2.1).
And all that in less than 10MB. That means it is ideally suited for Microservices and standalone applications.
The source distribution package can be downloaded from our mirrors:
https://www.apache.org/dyn/closer.lua/openwebbeans/meecrowave/1.2.4
Hashes can be found here
https://www.apache.org/dist/openwebbeans/meecrowave/1.2.4
The binary artifacts are available on maven.central:
https://repo1.maven.org/maven2/org/apache/meecrowave/
Our main change for this bugfix release is adding preliminary Java11 support.
The full list of resolved tickets is:
Bug
• [MEECROWAVE-130] - IOException if MEECROWAVE_OUT is different than MEECROWAVE_HOME
• [MEECROWAVE-142] - error while starting jpda debug in a bundle
• [MEECROWAVE-143] - [junit5] RequestScoped not activated with @MeecrowaveConfig
• [MEECROWAVE-144] - update geronimo specs to new versions
Improvement
• [MEECROWAVE-136] - update to apache-parent-21 for sha512
• [MEECROWAVE-140] - Embrace JUnit 5 PER_CLASS support
• [MEECROWAVE-141] - Add @AfterFirstInjection and @AfterLastTest for JUnit 5 integration
Task
• [MEECROWAVE-133] - Upgrade to CXF 3.2.6
• [MEECROWAVE-134] - Tomcat 9.0.12 upgrade
• [MEECROWAVE-135] - Log4j2 2.11.1 upgrade
• [MEECROWAVE-138] - update to Johnzon-1.1.9
• [MEECROWAVE-139] - update OWB to 2.0.7
• [MEECROWAVE-145] - update to Johnzon-1.1.10
• [MEECROWAVE-146] - Upgrade commons-compress to 1.18
• [MEECROWAVE-147] - Upgrade commons-dbcp2 to 2.5.0
• [MEECROWAVE-148] - Upgrade commons-jcs to 2.2.1
• [MEECROWAVE-149] - Upgrade acme4j to 2.3
• [MEECROWAVE-150] - Remove commons-lang and commons-text from core dependencies
More info can be found at
https://openwebbeans.apache.org/meecrowave/
Posted at 07:51AM Oct 01, 2018
by struberg in General |
|
Apache OpenWebBeans-2.0.7 has been released
The Apache OpenWebBeans Team is proud to announce the release of Apache OpenWebBeans-2.0.7.
Apache OpenWebBeans-2.0.x is an Apache License v2 licensed implementation of the JSR-365 CDI-2.0 specification.
OpenWebBeans has a modular structure and provides Dependency Injection scaling from Java SE environments up to Java EE8 server clusters with complicated ClassLoader hierarchies or OSGi environments.
This is a maintenance release targetting the Contexts and Dependency Injection CDI 2.0 specification!
CDI is a JavaEE standard (JSR-365) but fully available under Apache License v2.0.
http://cdi-spec.org/ https://docs.jboss.org/cdi/spec/2.0/cdi-spec.html
Apache OpenWebBeans-2.0.7 implements the CDI-2.0 API, and passes the JSR-330 and JSR-365 TCKs.
Distribution packages can be downloaded from
http://www.apache.org/dyn/closer.lua/openwebbeans/2.0.7/
Hashes can be found here
http://www.apache.org/dist/openwebbeans/2.0.7/
The release is also available in maven.central
https://repo1.maven.apache.org/maven2/org/apache/openwebbeans/
More info can be found at
http://openwebbeans.apache.org
The following tickets got fixed in this release:
Bug:
[OWB-1247] - Update to XBean Asm 6 Shaded 4.9
[OWB-1248] - defineClass used which is not supported by java 11
[OWB-1251] - event.fireAsync hangs when there is no observer
Improvement:
[OWB-1249] - org.apache.webbeans.config.OpenWebBeansConfiguration#overrideWithGlobalSettings environment overriding is not supported
[OWB-1250] - Reduce the log level of anymous classes message when it cant be loaded
[OWB-1252] - WebContextsService lazyStartRequestContext fails on first access.
[OWB-1253] - Improve performance of BeforeDestroyed and Initialized Literals
[OWB-1254] - destroying the Session doesn't fire BeforeDestroyed(SessionScoped.class) in our WebContextsService
[OWB-1255] - update to apache-parent-21 for sha512
Posted at 04:49PM Sep 05, 2018
by struberg in General |
|
Apache Meecrowave-1.2.3 has been released
The Apache OpenWebBeans team is proud to announce the release of Apache Meecrowave 1.2.3
Apache Meecrowave is a small server (only 9MB) fully based on Apache Tomcat9 and other JavaEE 8 technologies.[Read More]
Posted at 07:58AM Aug 14, 2018
by struberg in General |
|
News from OpenWebBeans-1.2.0
The Apache OpenWebBeans team has been quite busy with big refactorings. Big improvements have been made to the proxying mechanism, the Bean scanning and the AnnotatedType handling. We managed to improve the overall performance again and now deliver almost native Java like performance for our NormalScoping proxies.
Parts which are already implemented
Let's take a close look at a few details of the parts we already finished and explain them briefly.
Split between NormalScoping Proxies and Interceptor Proxies
In OpenWebBeans 1.0.x and 1.1.x a single Bean only had one single Proxy handling for all tasks - The NormalScopedBeanInterceptorHandler. This did handle all the stuff like Interceptors, Decorators provide subclassing for abstract Decorators but also did the NormalScope handling.
As result of this unified handling we only stored the native Contextual Instances in the Contexts (Session, Request map, Conversation map, etc). The negative side effect of this approach was that we had to introduce a quite hacky mechanism to regain access to the CreationalContext. Needless to say that this was not only complex but also error prone.
In OpenWebBeans-1.2.0 we now maintain 2 proxies. The first one solely handles NormalScoping, then 2nd one does all the Interceptor and Decorator stuff. The most important change is that we apply the DecoratorProxy directly 1:1 on the Contextual Instance and thus don't need to do any of those weird CreationalContext hacks anymore. Instead the already intercepted/decorated instance gets stored in the Context.
All NormalScope proxies now implement the Interface OwbNormalScopeProxy and have a name *$OwbNormalScopeProxy*.
All Interceptor and/or Decorator proxies implement the Interface OwbInterceptorProxy and have a name *$OwbInterceptProxy*.
Additionally to those 2 proxies we also introduced a new separate proxy kind for creating subclasses for abstract Decorators which now implement the marker interface OwbDecoratorProxy.
Creating our own proxy bytecode
For performance reasons we moved from using Javassist (where we fixed quite a few mem leaks in the past) to generating our own native Java ByteCode with ASM. We now only use reflection if really necessary. For standard NormalScoping of public methods we e.g. generate the following code. Consider a simple User class:
public class User { public String getGivenName() { return "Hans"; } }
For this class the generated bytecode of an OwbNormalScopeProxy will look like the following:
public class User$OwbNormalScopeProxy0 extends User { private Provider owbContextualInstanceProvider; public String getGivenName() { return owbContextualInstanceProvider.get().getGivenName(); } }
There is no bells and whistle and especially no reflection - just pure plain Java bytecode which is blazingly fast!
Btw, we do very similar stuff for non-intercepted methods of intercepted/decorated classes. And we also improved the handling of intercepted methods and are now more than twice as fast as OWB-1.1.7 (which was already very fast).
Cleaning up the Bean creation
In the past we had 2 ways to create beans. If an Extension used ProcessAnnotatedType to tweak the AnnotatedType of a class then we built the Bean<T> from the modified AnnotatedType<T>. For cases where the AnnotatedType did not get modified we took a completely different part and created the Bean from the Class reflection information. This part came from a time where there was no AnnotatedType in the spec yet.
In OWB-1.2.0 we now do all the Bean<T> construction based on the AnnotatedType - regardless if it got provided by a CDI-Extension or remained unchanged. This made our codebase much easier to maintain! Arne also did a great job by introducing and cleaning up all the BeanBuilders and making the final Bean<T> immutable.
Parts waiting to be done
More new things to come before the release:
- Replace Scannotation by xbean-finder.
- Create the initial AnnotatedTypes from the information already collected by xbean-finder instead of doing expensive Class reflection.
CDI-1.0 or CDI-1.1?
We initially targeted CDI-1.1 with this release. But during the development we figured that we do not yet need to. All the parts introduced so far are perfectly working with CDI-1.0 as well. Thus it looks like we gonna release OWB-1.2.0 as still being CDI-1.0. But we are well prepared to support the new features of CDI-1.1 very quickly as we already did all the preparations. Sometimes we internally already use CDI-1.1 mechanisms (like the BeanAttributs) and only have to add 'implements RandomCdi11FeatureInterface'. This will likely be shipped as OWB-2.0.0 though when the spec hits an almost final status and the TCK is available.
How to Test
That's a pretty easy thing. If you have the apache.snapshots maven repo in your build, then you can just reference owb 1.2.0-SNAPSHOT in your build and you're done!
Posted at 08:29AM Feb 15, 2013
by struberg in Status |
|
Apache Incubator OpenWebBeans 1.0.0-M2 is Released
I am pleased to announce the 1.0.0-M2 release of OpenWebBeans. OpenWebBeans will be an ASL-licensed implementation of the Context and Dependency Injection for Java EE Platform Specification which is defined as JSR-299.
This M2 release contains the parts of the specification that enables the developers to start and see more functional aspects of the JSR-299 than M1 release. Please look at the README file to get more about release information.
-------------------------------------------------
- M2 Release Supports the followings
-------------------------------------------------
* Simple WebBeans Support
* Producer Method Support
* Producer Field Support
* JMS WebBeans Support
* Inheritance, Stereotype Inheritances and Realization Support
* Specialization Support
* Event Support
* Decorator and Interceptor Support
* Experimental XML Configuration Support
* Lookup and Dependency Injection Support
* Java EE Plugin Support (via ServetContextListener interface)
* JPA Persistence Context injection support.(Currently does not support JTA based persistence context.)
This release also contains full blown JSF application which is developed by JSF + OWB + JPA.
In addition to the implementation of the specification, the project aims to create a new set of Web Beans exposing functionality of other Apache Foundation projects.
Feel free to ask any questions about the OpenWebBeans and M2-Release via our user forums.
Download URL :
----------------
http://www.apache.org/dist/incubator/openwebbeans/
Project Main Site :
--------------------
http://incubator.apache.org/openwebbeans/
User Forum :
-------------------
openwebbeans-users@incubator.apache.org
Wiki Page :
------------
http://cwiki.apache.org/OWB/
Gurkan Erdogdu
OpenWebBeans Project Lead
Posted at 05:50PM Jun 03, 2009
by gerdogdu in Java |
|