[jboss-as7-dev] Moving EJB3 code into the AS7 source tree

Carlo de Wolf cdewolf at redhat.com
Wed Aug 31 04:56:33 EDT 2011


On 08/30/2011 06:31 PM, Jason T. Greene wrote:
> On 8/30/11 3:08 AM, Jaikiran Pai wrote:
>> Carlo and I had a chat about this yesterday. For the benefit of those
>> who are following this thread, EJB3 team is *not* opposed to moving that
>> code from a separate repo/project into the AS7 codebase. That's fine.
>>
>> Some of the points that we discussed included the loss of history over
>> that code. I don't know if it's possible to somehow get back the history
>> on those files (now that the upstream already contains these files). But
>> it would be good to have the history since those files (like the tx
>> interceptors) have been around since AS 4.x days and have some good
>> amount of commits linked against JIRAs.
> It should be possible using git filter-branch and a limited merge. We
> would just replace the files. It's a pretty small number (70). Although
> really old history may not be all that useful since the context has
> completely changed twice over.

The older the history the less chance it is really useful. Mostly it 
just a couple of commits of that single code block. But that ultimately 
can lead down to a long time ago. Especially pieces that haven't changed 
much.
This is mostly used during support, to figure out why a piece of code is 
there.

>> One other point was having finer grained modules like ejb3-tx (within
>> the AS codebase) instead of clubbing everything under the jboss-as/ejb3
>> module. That way each such module can have the right set of limited
>> module dependencies. Ofcourse, just creating a module for the sake of it
>> wouldn't make sense. So if there is a clear separation for creating a
>> module, then perhaps that would be a good idea. Thoughts?
> Yeah I think separating JPA, CMP, and EJB3 into separate subsystems is a
> good example of this. Anytime we want to make some particular component
> optional it makes sense to break it into some kind of sub module. We
> have to be careful about having too many subsystems though, or having
> incompatible combinations. So for example I could see the ejb3 tx
> integration being optional IF the tx subsystem is not active
> (interceptors don't get installed or something like that). However, I'm
> not sure if it needs to be it's own artifact, it's only a handful of
> classes. Maybe it would help if there was a proposal for how the
> dependency breakdown would look?
>
A module becoming it's own artifact is a side-effect of Maven. The real 
criteria for a separate runtime-artifact is like you said, whether the 
functionality is enabled in certain configurations or not.

What I've seen in the past is that concerns get mixed. So instead of 
isolating complexity people would hack in a piece of code to make things 
work. By isolating tx we can make sure it doesn't do anything untoward 
with other API/SPIs for example. So we can make sure it doesn't abuse 
jboss-metadata to operate.
A similar example would have been annotation via reflection scanning, 
but we can't isolate out the JDK API in favor of the Jandex API.

Carlo


More information about the jboss-as7-dev mailing list