[Design of JCA on JBoss] - The current implementation of the JCA deployers is broken
by adrian@jboss.org
I"m going to get around to fixing these eventually once I've got the testsuite in
a reasonable state and I've fixed the ejb/war/ear deployment.
If somebody wants to work on this before then that's ok with me
1) The maintainance of the RAR MetaDataRepository is completely wrong.
It shouldn't be in the parsing deployer and currently there is no remove.
2) The metadata should not depend upon implementation details, e.g. wrong!
| [ejort@warjort mcf]$ grep -ri system *
| ManagedConnectionFactoryDeploymentGroup.java:import org.jboss.system.metadata.ServiceMetaData;
| ManagedConnectionFactoryDeploymentMetaData.java:import org.jboss.system.metadata.ServiceMetaData;
| ServiceMetaDataAdapter.java:import org.jboss.system.metadata.ServiceMetaData;
| ServiceMetaDataAdapter.java:import org.jboss.system.metadata.ServiceMetaDataParser;
|
The translation to implementation details (MBeans or POJOs) is the responsbility
of the deployment layer not the metadata which is potentially a client side model.
3) The current metadata is way too complicated. Currently to add a parameter
you have to modify far too many things.
* ra.xml
* dtd
* metadata
* builder
* programmatic managed object
* etc.
4) The rar deployer should be parsing the jboss-ra.xml
5) The managed object stuff is completely wrong. You should just be
able to annotate the classes. There's all sorts of stuff in there that should be
in the profile service not JCA
6) The templating stuff needs to moved out of the profile service into the managed
project. JCA should just depend upon jboss-managed not the profile service
(and even then only the annotations).
7) The reworking of the MCF deployment means many of the JMX operations
have "vanished".
8) There's all sorts of cruft lying around from the old deployment model that needs cleaning up
9) The metadata models should be moved to the jboss-metadata project
and unified with it where there is overlap
10) The deployments need to be converted to be POJOs rather than MBeans.
11) There needs to more thorough testing of the new deployers and metadata.
I keep finding broken things that the testsuite is not showing up.
etc.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4146134#4146134
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4146134
17 years, 11 months
[Design the new POJO MicroContainer] - Re: Annotation scanning
by adrian@jboss.org
"scott.stark(a)jboss.org" wrote : "kabir.khan(a)jboss.com" wrote : One point: For the purposes of AOP, the classes must NOT be loaded when scanning for annotations. If they are loaded, then we can not do loadtime weaving. The annotation scanning should use javassist instead to look for annotations.
| If that's the case then to be general the metadata project/AnnotationMetaDataDeployer need to make this change. Currently they do load classes in the context of the deployment class loader during the POST_CLASSLOADER phase. We may be providing pass through support for other layers annotations though (webservices, rest, jpa) that need a view of the annotation. Are we going to have to pass the javassist view for these?
There's no problem with passing the annotations as long as we don't load
the classes that have those annotations until AOP has had the chance to enhance them.
i.e.
* parse the class file using javassist
* read the annotation and create metadata
* aop enhances the classes
* services load the enhanced class from the classloader
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4146119#4146119
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4146119
17 years, 11 months
[Design the new POJO MicroContainer] - Re: Refreshing entries in JARs
by alesj
"alesj" wrote :
| I'll have a look what can be done if I add some 'reconstruct' method to VirtualFileHandler.
This looks like a huge hassle for something that rarely happens (runtime jar modification), and which has a much nicer workaround (exploded archive).
The thing is that current JAR handling architecture wasn't designed to handle reconstruction out-of-the-box.
In case of updating some inner jar, you need to go all the way to root jar, and do the hierarchy creation again, iterating over zip entries, but at the same time keeping the previously created handlers, and correctly modifying them.
I'm not saying it's impossible, it's mostly what we already do, just need to take existing handlers into consideration.
But instead of tweaking the existing code, this should probably be done on a clean rewrite.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4146086#4146086
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4146086
17 years, 11 months
[Design of JBoss Build System] - maven-buildmagic-thirdparty-plugin won't pickup source from
by scott.stark@jboss.org
If I do an install into my local repo of a thirdparty project, and then do a mvn -Pdownload.sources package from thirdparty, I'm not seeing the sources included for this local artifact:
| valkyrie:thirdparty starksm$ mvn -Pdownload.sources package
| [INFO] Scanning for projects...
| WAGON_VERSION: 1.0-beta-2
| [INFO] ------------------------------------------------------------------------
| [INFO] Building JBoss Application Server Thirdparty Build
| [INFO] task-segment: [package]
| [INFO] ------------------------------------------------------------------------
| [INFO] [buildmagic-thirdparty:build-thirdparty {execution: build-thirdparty}]
| [INFO] Copying dependencies to thirdparty directories...
| [INFO] Generating component info files...
| [INFO] Creating libraries.ent...
| [INFO] [buildmagic-thirdparty:build-thirdparty {execution: build-thirparty-testsuite}]
| [INFO] Copying dependencies to thirdparty directories...
| [INFO] Generating component info files...
| [INFO] Creating testsuite-libraries.ent...
| [INFO] [site:attach-descriptor]
| [INFO] Preparing source:jar
| [WARNING] Removing: jar from forked lifecycle, to prevent recursive invocation.
| [INFO] No goals needed for project - skipping
| [INFO] [source:jar {execution: attach-sources}]
| [INFO] ------------------------------------------------------------------------
| [INFO] BUILD SUCCESSFUL
| [INFO] ------------------------------------------------------------------------
| [INFO] Total time: 6 seconds
| [INFO] Finished at: Wed Apr 23 01:47:18 PDT 2008
| [INFO] Final Memory: 21M/38M
| [INFO] ------------------------------------------------------------------------
| valkyrie:thirdparty starksm$ ls -l jboss/metadata/lib/
| total 1984
| -rw-r--r-- 1 starksm admin 1013518 Apr 23 01:47 jboss-metadata.jar
| valkyrie:thirdparty starksm$
|
Works fine if the thirdparty artifact is in the main jboss repo. Shouldn't the local only artifact also have its source included?
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4146080#4146080
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4146080
17 years, 11 months