[webbeans-dev] Fwd: Several proposals
by Gavin King
---------- Forwarded message ----------
From: Gavin King <gavin(a)hibernate.org>
Date: Thu, Oct 30, 2008 at 2:09 AM
Subject: Several proposals
To: Java Community Process JSR #299 Expert List <JSR-299-EG(a)jcp.org>
Hi, everyone, here's a list of things I have on my todo list that we
either did not have time to discuss for the public draft, or that I've
noticed since:
Manager.parse()
===============
Currently the only place that Web Beans may be declared using XML is a
file named web-beans.xml. I can see that third-party extensions would
like to allow web bean declarations to live in other files. So I would
like to propose the addition of a public parse() method to the Manager
interface that would load and parse a file with a given path from the
classpath and install all web beans declared therein.
Initial field values
====================
I think we should probably add BigDecimal/BigInteger to the list of
types that accept initial field values in 9.2.5. I *definitely* think
we should add the java.lang primitive wrapper types to the list.
Interceptor/decorator enablement
================================
Currently the spec is no explicit as to whether the deployment type of
an interceptor/decorator has to be enabled for the
interceptor/decorator to be enabled. I suggest that we say explicitly
that the interceptor/decorator must be (a) listed in web-beans.xml and
(b) have an enabled deployment type.
"EJB 3-style" language
======================
Currently the spec only requires support for "EJB 3-style" session
beans, without really saying what that means. Really what it means is
that we don't require support for EJBs with home interfaces. We have
two options here:
(1) be explicit about what "EJB 3-style" means
(2) support EJBs with home interfaces if they have a create method
with no parameters or annotated @Initializer
I'm not sure which is best. For completeness, I don't see why we can't
support EJBs with home interfaces, but on the other hand it seems that
this feature is now basically deprecated, and I assume that support
for EJB home interfaces will not be required in EJB lite.
What do you guys think?
Interceptor stack creation
==========================
At the very last minute I made a change to section 5.8, after a
discussion with the EJB EG, and introduced a silly bug. The spec
currently says that interceptor/decorator stacks are created after
@PostConstruct is called, which of course is wrong, since the
interceptor might have a @PostConstruct. Let's fix that bug.
--
Gavin King
gavin.king(a)gmail.com
http://in.relation.to/Bloggers/Gavin
http://hibernate.org
http://seamframework.org
--
Gavin King
gavin.king(a)gmail.com
http://in.relation.to/Bloggers/Gavin
http://hibernate.org
http://seamframework.org
16 years, 1 month
[webbeans-dev] Questions & clarifications
by Pete Muir
> 8.5.1 "In a Java EE 5 environment, the Web Bean manager is not
> required to support an active event context during timeout method
> invocation. "
Probably should say request context
-----
> 2.5.1 All standard Web Beans defined by this specification, and
> provided by the Web Bean manager, are defined using the @Standard
> deployment type. For example, the Conversation object defined in
> Section 8.5.4, “Conversation context life- cycle” and the Manager
> object defined in Section 4.8, “The Manager object” have this
> deployment type. No Web Bean may be declared with the deployment
> type unless explicitly required by this specification.
Maybe state what happens if one is?
-----
> 2.5.5 Default deployment type
Doesn't explicitly say what the default deployment type of a non-XML-
defined Web Bean is.
-----
> 2.7.1 Defining new stereotypes
Most of these statements say that a DefinitionException is thrown when
if the stereotype doesn't meet these rules, apart from
> A stereotype may declare at most one scope type.
and
> A stereotype may declare at most one deployment type.
-----
> 3.2.5.1 Declaring a Web Beans constructor
> If a simple Web Bean defined using annotations does not explicitly
> declare a constructor using @Initializer, the constructor that
> accepts no parameters is the Web Bean constructor.
It is possible to call constructors by reflection on inner classes,
but it requires you to rely on the (AFAIK unspecified) behaviour that
the inner class instance holds a reference to it's parent instance in
the "this$<x>" field, where
x = (level-of-nesting - 1)
WDYT?
----
> 3.6 An injected field is a non-static, non-final field of a Web Bean
> implementation class, of a Servlet, or of any EJB session, singleton
> or message driven bean class.
Maybe should state what the behaviour is if you put a binding
annotation on a static or final field? e.g. undefined.
16 years, 1 month
[webbeans-dev] Manager.addContext return type
by Nicklas Karlsson
Hi,
I noticed that the Manager.addContext method returns Manager. What
is the usage scenario that would benefit from this
(instead of void)? Fluent interfaces?
---
Nik
16 years, 1 month
[webbeans-dev] Clarification on applicability of 4.9.2.1
by David Allen
In 4.9.2.1, it states that binding annotations with array type values or
annotation type values must use @NonBinding on these values, and that any
other value may also be excluded from consideration in equals() with the
annotation @NonBinding.
Does this also apply to Observers and Events in chapter 7?
Thanks,
David
16 years, 1 month
[webbeans-dev] Web beans implementation plan
by Gavin King
We now really need to get going on the RI. I've attached the latest draft.
Here's a list of tasks in order. Note that we can write tests for each
step, without needing stuff from the next step!
* basic Manager functionality: resolveByType(), resolveByName(), addBean()
* instantiation: getInstance(), getInstanceByType(), getInstanceByName()
* basic support for simple Web Beans
* specialization
* dependent pseudo-context
* request and application contexts
* injected fields, intializer methods, Web Bean constructors
* producer methods
* disposal methods
* @New
* interceptors
* decorators
* stereotypes
* scope adaptors
* basic event bus: fireEvent(), addObserver()
* observer methods
* @Observable Event<X>
* Web Bean discovery & initialization event
* Java EE integration
* session context
* basic support for enterprise Web Beans
* Web Bean remove methods
* passivating scope support
---- ALPHA RELEASE
* JMS endpoints
* web-beans.xml
* conversation context
* ejb-jar.xml
* support for common annotations
---- BETA RELEASE
Obviously, we don't need to do things in *exactly* that order, but I
think it's a good overall ordering.
I think that most of these tasks are one day or less of work, though
some of them, particularly toward the end are more than that.
I would like to target the alpha release for this year :-)
WDYT?
--
Gavin King
gavin.king(a)gmail.com
http://in.relation.to/Bloggers/Gavin
http://hibernate.org
http://seamframework.org
16 years, 1 month
[webbeans-dev] Fwd: JSR-299 Public draft
by Gavin King
I just submitted the Web Beans public draft :-)
Jason and I are feeling fairly confident that we can get Web Beans
accepted as a required part of Java EE 6.
And Pete and Shane are working hard on the RI.
Hope you guys like it :-)
---------- Forwarded message ----------
From: Gavin King <gavin(a)hibernate.org>
Date: Thu, Oct 23, 2008 at 9:31 PM
Subject: JSR-299 Public draft
To: spec-submit(a)jcp.org
Hi folks! Here's the Web Beans public draft :-)
1. spec is attached.
2. The alias for comments: jsr-299-comments(a)jcp.org
3. The length of the Review: 30 days
4. The answer to the following questions.
A. Does the specification include software codes
in the following format:
Binary : No
Source (compilable) : No
Javadocs : No
B. Do the codes or the spec call on, contain, use
or demonstrate encryption technology?
No
5. The Proposed Business Terms provided for Early Draft Review are unchanged
6. The Proposed Final Draft specification will be submitted in January 2009
8. The version number of the specific specification document: Web Beans 1.0
The anticipated release date: January 2009
The full corporate name and address of the Spec Lead Member:
Gavin King
Red Hat Middleware LLC
3340 Peachtree Rd #1200
Atlanta GA 30326
--
Gavin King
gavin.king(a)gmail.com
http://in.relation.to/Bloggers/Gavin
http://hibernate.org
http://seamframework.org
--
Gavin King
gavin.king(a)gmail.com
http://in.relation.to/Bloggers/Gavin
http://hibernate.org
http://seamframework.org
16 years, 1 month
[webbeans-dev] Fwd: JSR-299 Public draft
by Gavin King
I spotted a couple of probs, and so *this* is the real public draft!
---------- Forwarded message ----------
From: Gavin King <gavin(a)hibernate.org>
Date: Fri, Oct 24, 2008 at 12:01 PM
Subject: Re: JSR-299 Public draft
To: spec-submit(a)jcp.org
Actually, let's go with this new (attached) version instead. Sorry about that!
On Thu, Oct 23, 2008 at 9:31 PM, Gavin King <gavin(a)hibernate.org> wrote:
> Hi folks! Here's the Web Beans public draft :-)
>
> 1. spec is attached.
> 2. The alias for comments: jsr-299-comments(a)jcp.org
> 3. The length of the Review: 30 days
> 4. The answer to the following questions.
>
> A. Does the specification include software codes
> in the following format:
> Binary : No
> Source (compilable) : No
> Javadocs : No
> B. Do the codes or the spec call on, contain, use
> or demonstrate encryption technology?
> No
>
> 5. The Proposed Business Terms provided for Early Draft Review are unchanged
> 6. The Proposed Final Draft specification will be submitted in January 2009
> 8. The version number of the specific specification document: Web Beans 1.0
> The anticipated release date: January 2009
> The full corporate name and address of the Spec Lead Member:
>
> Gavin King
> Red Hat Middleware LLC
> 3340 Peachtree Rd #1200
> Atlanta GA 30326
>
> --
> Gavin King
> gavin.king(a)gmail.com
> http://in.relation.to/Bloggers/Gavin
> http://hibernate.org
> http://seamframework.org
>
--
Gavin King
gavin.king(a)gmail.com
http://in.relation.to/Bloggers/Gavin
http://hibernate.org
http://seamframework.org
--
Gavin King
gavin.king(a)gmail.com
http://in.relation.to/Bloggers/Gavin
http://hibernate.org
http://seamframework.org
16 years, 1 month