Re: [jboss-dev-forums] [JBoss Microcontainer Development POJO Server] - Implementing a non-flat deployment for Weld Integration
by Flavia Rainone
Flavia Rainone [http://community.jboss.org/people/flavia.rainone%40jboss.com] replied to the discussion
"Implementing a non-flat deployment for Weld Integration"
To view the discussion, visit: http://community.jboss.org/message/542347#542347
--------------------------------------------------------------
Pete and I had a face-to-face meeting where we discussed all my questions and what would be the best way to implement this.
Regarding the assumptions I wanted to validate, both are correct.
But, regarding visibility of deployments. He told me that the best approach is to mirror the ClassLoader structure. The point is that one BDA A can see another BDA B if the module it represents, say A', can see classes from the module B', that corresponds to BDA B.
So, instead of reinventing the wheel, we should use the already existent ClassLoader structure to implement this correspondence in the BDA structure. These are the steps that Pete suggested:
1) Find Modules which are BDA's
2) List <Module>, List<ClassLoader>, Map<ClassLoader, Module>
3) Iterate over classes and build graph of modules
4) Module -> BDA
a) Explore CL graph & for each CL & Module
b) Convert
A few examples of complex things that we would have to implement if we don't use the ClassLoader structure:
- we would have to able to see if a deployment is scoped or not, so we can define the visibility it has from other modules and to which modules it is visible
- we need to keep track of modules being deployed and undeployed, so to know when it becomes visible and when it becomes invisible
- we need to support Class-path attributes in manifest files
- we need to define when a previously defined archive is available to a archive being deployed now
So, these features that we need to support provide the arguments as to why we should mirror the ClassLoader structure instead of implementing this from scratch.
Pete also pointed out an important behaviour that should be fixed. In a nutshell, all archives visible to a BDA are scanned. In the given scenario:
ejb.jar A reaches lib2. In lib2 we have a ClassPath reference in the manifest to lib3, which is not in the classpath of the server... it is somewhere in the filesystem. In this case, for what I understood from Pete's explanations, lib3 is going to be scanned for CDI stuff. But this shouldn't happen, so we would also need a way of differentiating lib3 from lib2. I'll stop my explanation here, as I think Pete can fill in the blanks and explain this much better :-)
Anyway, this would be a future step, as the priority is to first mirror the CL structure effectively.
So, Ales, how do you think this should be done? I think we have plenty of code in the ClassPools that do exactly that, mirror the ClassLoader structure in a way that allows us to find the classes and xml files in META-INF dirs. Maybe there is a way of reusing part of the ClassPool code to do this?
--------------------------------------------------------------
Reply to this message by going to Community
[http://community.jboss.org/message/542347#542347]
Start a new discussion in JBoss Microcontainer Development POJO Server at Community
[http://community.jboss.org/choose-container!input.jspa?contentType=1&cont...]
15 years, 11 months
[JBoss ESB Development] - How to remove old WS Endpoints?
by Matthew S
Matthew S [http://community.jboss.org/people/steelman22] created the discussion
"How to remove old WS Endpoints?"
To view the discussion, visit: http://community.jboss.org/message/542329#542329
--------------------------------------------------------------
Hi everyone,
Recently I've started playing around with JBoss ESB. I'm using version 4.7.
While I was exploring quickstart examples I messed something up with WS-Endpoints.
I can't find any way to repair it - running new instance of Jbossesb-server would not help.
I tried looking for some endpoint configurations in system directories but with no effect.
I'm working on testing Debian distro.
Here's error i get during deployment:
ERROR [MainDeployer] Could not create deployment: file:/tmp/jbossesb-server-4.7/server/default/tmp/deploy/tmp2524891532097446242SiusSellerService.esb-contents/SellerService.war
java.lang.IllegalStateException: Endpoint already registered: jboss.ws:context=Quickstart_webservice_producer_esb,endpoint=SellerServiceWS
at org.jboss.wsf.framework.management.DefaultEndpointRegistry.register(DefaultEndpointRegistry.java:89)
best regards,
--------------------------------------------------------------
Reply to this message by going to Community
[http://community.jboss.org/message/542329#542329]
Start a new discussion in JBoss ESB Development at Community
[http://community.jboss.org/choose-container!input.jspa?contentType=1&cont...]
15 years, 11 months
Re: [jboss-dev-forums] [JBoss ESB Development] - Annotation based Action classes
by Brad Davis
Brad Davis [http://community.jboss.org/people/bradsdavis] replied to the discussion
"Annotation based Action classes"
To view the discussion, visit: http://community.jboss.org/message/542272#542272
--------------------------------------------------------------
I actually would rather see some of the Action approaches @Deprecated. Right now, there are too many ways to create an action, which leads to too many test paths for the platform, and in the future, too many upgrade paths to maintain. Also, the lack of consistency here confuses customers when trying to decide on a "best approach".
For example, just in the quickstarts alone, I have see the following ways to create actions:
Some Actions extend AbstractActionLifecycle, some implement BeanConfiguredAction, others ActionPipelineProcessor, and still others AbstractActionPipelineProcessor.
--------------------------------------------------------------
Reply to this message by going to Community
[http://community.jboss.org/message/542272#542272]
Start a new discussion in JBoss ESB Development at Community
[http://community.jboss.org/choose-container!input.jspa?contentType=1&cont...]
15 years, 11 months