RE: [JBoss-dev] Generic Embedded/Bootstrap was RE: [JBoss-dev] EJB3StandaloneBootstrap implementation

2006-02-03 Thread Adrian Brock
On Thu, 2006-02-02 at 13:43, Scott M Stark wrote:
 This will help get us finalized on a mc and start thinking about the
 proper abstractions to use it so I'm all for it.
 
 1) Some have been inquiring about whether spring integration setups can
 also be used. Possibly we could have a spring alias mapping that binds
 to our integration implementation. Possibly we could even use existing
 spring integration objects for standard apis like JTA so we don't have
 to write it for envs we don't readily have for testing.
 

http://jira.jboss.com/jira/browse/JBMICROCONT-26

 2) So you are talking about abstractions on top of JTA or on the JTA
 provider service for interaction outside of JTA?
 

Both. 

e.g. Integrating TransactionProgationContext from the invokers/remoting
to JTS/JTA implementation is JBoss specific.

TransactionLocal/Demarcation abstractions should work with any JTA.

 3) Good. As a part-time dev on the kernel its hard for me to pull all of
 the pieces together with respect to a usable mc setup so I think a
 concrete collection of components in an embedded type of profile will
 help finalize the design.

Coming soon... :-)

 
 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] On Behalf Of
 Adrian Brock
 Sent: Wednesday, February 01, 2006 4:57 AM
 To: jboss-development@lists.sourceforge.net
 Subject: [JBoss-dev] Generic Embedded/Bootstrap was RE: [JBoss-dev]
 EJB3StandaloneBootstrap implementation
 
 FYI
 
 I am starting work on a prototype of the following three
 new modules (I am not sure these are good names :-)
 
 1) Integration - Cross (other) container integration spi 
 like how do I bind to jndi?, give me the transaction synchronizer,
 etc.
 
 2) Services - abstraction of our common container spi, such that
 other projects can use these interfaces to talk to each other 
 rather than linking directly to implementation
 e.g. Who knows whether the user wants to use 
 JBossJTA or JBoss Transactions?
 
 3) Embedded - an extension to the kernel module that introduces aop,
 jmx, profile service and eventually aspectized deployments 
 (all optional)
 
 My plans for enhanced embedded bootstrap implementations are:
 * Explicit - tell me what you want to do
 - suitable for extension
 
 * Classpath - like current MC Standalone bootstrap 
 - suitable for main() usage
 
 * URLClassLoader - parse getURLs() and look for config relative 
 to this 
 - suitable for running inside an EJB container, servlet container, etc.
 
 * Test - shared base common config + test specific config
 - suitable for use in JUnit/TestNG
 
 I think this has some redundancy with the EJB3 bootstrap methods
 but it doesn't make sense to have this EJB3 specific.
 e.g. I want to 
 * bootstrap/configure some JBoss Service inside a
 servlet context of another JEE container
 * run tests against a service that requires other services
 * provide a real standalone distribution of JBoss Messaging
 * etc.
 
 My motivation for this prototype is not to get a product
 out of it yet. It is to flush out the integration details
 between the projects.
 
 In particular, AOP and MC. I started the new jca project for
 this purpose as well, but I haven't had any real feedback
 on this prototype from the AOP team.
 It also includes a simple AOP proxy replacement for org.jboss.proxy
 in the aspects module (again a prototype) and POJOs to allow
 aspects to be configured via DI in the MC.
 
 Bill did help me with some pointcut definition enhancements
 to implement MessageEndpoint properly.
 
 I'm hoping if I do this for something less esoteric than JCA
 then I will get some feedback ;-)
 
 On Tue, 2006-01-31 at 22:26, Scott M Stark wrote:
  How can the scanClasspath() step be optimized/skipped in say an
 embedded
  ejb3 project in jbosside where the data obtained during the scan was
  written out in an optimized metadata store as part of the project say?
  
  I don't really follow adding aspects like clustering to deployments
  based on the location in a filesystem, virtual or otherwise. Just
 seems
  like too much meaning being linked to the deployment url/location.
  
  I'm busy through tomorrow, but come thu I will just checkin the
 current
  vfs stuff I have had sitting in the workspace for months and see what
  start can be made on pushing this forward.
  
  -Original Message-
  From: [EMAIL PROTECTED]
  [mailto:[EMAIL PROTECTED] On Behalf Of
 Bill
  Burke
  Sent: Tuesday, January 31, 2006 9:28 AM
  To: jboss-development@lists.sourceforge.net
  Subject: Re: [JBoss-dev] EJB3StandaloneBootstrap implementation
  
  I think going the E-EJB3 route to start is a good idea as it will
 force 
  us to implement bare-bones implementations that do not have the idea
 of 
  a classloader or j2ee deployment schemes within them.  Once we have 
  e-ejb3 (really e-jboss) in place, it will force us to be careful about
 
  adding things like classloading and j2ee packaging as to not break or 
  bloat e-jboss.
  
  The way I envision

RE: [JBoss-dev] Generic Embedded/Bootstrap was RE: [JBoss-dev] EJB3StandaloneBootstrap implementation

2006-02-02 Thread Scott M Stark
This will help get us finalized on a mc and start thinking about the
proper abstractions to use it so I'm all for it.

1) Some have been inquiring about whether spring integration setups can
also be used. Possibly we could have a spring alias mapping that binds
to our integration implementation. Possibly we could even use existing
spring integration objects for standard apis like JTA so we don't have
to write it for envs we don't readily have for testing.

2) So you are talking about abstractions on top of JTA or on the JTA
provider service for interaction outside of JTA?

3) Good. As a part-time dev on the kernel its hard for me to pull all of
the pieces together with respect to a usable mc setup so I think a
concrete collection of components in an embedded type of profile will
help finalize the design.

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of
Adrian Brock
Sent: Wednesday, February 01, 2006 4:57 AM
To: jboss-development@lists.sourceforge.net
Subject: [JBoss-dev] Generic Embedded/Bootstrap was RE: [JBoss-dev]
EJB3StandaloneBootstrap implementation

FYI

I am starting work on a prototype of the following three
new modules (I am not sure these are good names :-)

1) Integration - Cross (other) container integration spi 
like how do I bind to jndi?, give me the transaction synchronizer,
etc.

2) Services - abstraction of our common container spi, such that
other projects can use these interfaces to talk to each other 
rather than linking directly to implementation
e.g. Who knows whether the user wants to use 
JBossJTA or JBoss Transactions?

3) Embedded - an extension to the kernel module that introduces aop,
jmx, profile service and eventually aspectized deployments 
(all optional)

My plans for enhanced embedded bootstrap implementations are:
* Explicit - tell me what you want to do
- suitable for extension

* Classpath - like current MC Standalone bootstrap 
- suitable for main() usage

* URLClassLoader - parse getURLs() and look for config relative 
to this 
- suitable for running inside an EJB container, servlet container, etc.

* Test - shared base common config + test specific config
- suitable for use in JUnit/TestNG

I think this has some redundancy with the EJB3 bootstrap methods
but it doesn't make sense to have this EJB3 specific.
e.g. I want to 
* bootstrap/configure some JBoss Service inside a
servlet context of another JEE container
* run tests against a service that requires other services
* provide a real standalone distribution of JBoss Messaging
* etc.

My motivation for this prototype is not to get a product
out of it yet. It is to flush out the integration details
between the projects.

In particular, AOP and MC. I started the new jca project for
this purpose as well, but I haven't had any real feedback
on this prototype from the AOP team.
It also includes a simple AOP proxy replacement for org.jboss.proxy
in the aspects module (again a prototype) and POJOs to allow
aspects to be configured via DI in the MC.

Bill did help me with some pointcut definition enhancements
to implement MessageEndpoint properly.

I'm hoping if I do this for something less esoteric than JCA
then I will get some feedback ;-)

On Tue, 2006-01-31 at 22:26, Scott M Stark wrote:
 How can the scanClasspath() step be optimized/skipped in say an
embedded
 ejb3 project in jbosside where the data obtained during the scan was
 written out in an optimized metadata store as part of the project say?
 
 I don't really follow adding aspects like clustering to deployments
 based on the location in a filesystem, virtual or otherwise. Just
seems
 like too much meaning being linked to the deployment url/location.
 
 I'm busy through tomorrow, but come thu I will just checkin the
current
 vfs stuff I have had sitting in the workspace for months and see what
 start can be made on pushing this forward.
 
 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] On Behalf Of
Bill
 Burke
 Sent: Tuesday, January 31, 2006 9:28 AM
 To: jboss-development@lists.sourceforge.net
 Subject: Re: [JBoss-dev] EJB3StandaloneBootstrap implementation
 
 I think going the E-EJB3 route to start is a good idea as it will
force 
 us to implement bare-bones implementations that do not have the idea
of 
 a classloader or j2ee deployment schemes within them.  Once we have 
 e-ejb3 (really e-jboss) in place, it will force us to be careful about

 adding things like classloading and j2ee packaging as to not break or 
 bloat e-jboss.
 
 The way I envision it working is basically how it works with current
 kernel
 
 * This shit must be REALLY FAST.  Remember, we're using it with junit
 tests.
 * embedded-jboss-beans.xml configures a MainDeployer,  BeanDeployer, 
 AOPDeployer, EJB3Deployer, (etc.) and basic services like TM, JNDI,
etc.
 * EJB3StandaloneBootstrap still exists and has three methods:
 - boot(): This loads embeddded-jboss-beans.xml
 - scanClasspath().  The scans the entire

[JBoss-dev] Generic Embedded/Bootstrap was RE: [JBoss-dev] EJB3StandaloneBootstrap implementation

2006-02-01 Thread Adrian Brock
FYI

I am starting work on a prototype of the following three
new modules (I am not sure these are good names :-)

1) Integration - Cross (other) container integration spi 
like how do I bind to jndi?, give me the transaction synchronizer,
etc.

2) Services - abstraction of our common container spi, such that
other projects can use these interfaces to talk to each other 
rather than linking directly to implementation
e.g. Who knows whether the user wants to use 
JBossJTA or JBoss Transactions?

3) Embedded - an extension to the kernel module that introduces aop,
jmx, profile service and eventually aspectized deployments 
(all optional)

My plans for enhanced embedded bootstrap implementations are:
* Explicit - tell me what you want to do
- suitable for extension

* Classpath - like current MC Standalone bootstrap 
- suitable for main() usage

* URLClassLoader - parse getURLs() and look for config relative 
to this 
- suitable for running inside an EJB container, servlet container, etc.

* Test - shared base common config + test specific config
- suitable for use in JUnit/TestNG

I think this has some redundancy with the EJB3 bootstrap methods
but it doesn't make sense to have this EJB3 specific.
e.g. I want to 
* bootstrap/configure some JBoss Service inside a
servlet context of another JEE container
* run tests against a service that requires other services
* provide a real standalone distribution of JBoss Messaging
* etc.

My motivation for this prototype is not to get a product
out of it yet. It is to flush out the integration details
between the projects.

In particular, AOP and MC. I started the new jca project for
this purpose as well, but I haven't had any real feedback
on this prototype from the AOP team.
It also includes a simple AOP proxy replacement for org.jboss.proxy
in the aspects module (again a prototype) and POJOs to allow
aspects to be configured via DI in the MC.

Bill did help me with some pointcut definition enhancements
to implement MessageEndpoint properly.

I'm hoping if I do this for something less esoteric than JCA
then I will get some feedback ;-)

On Tue, 2006-01-31 at 22:26, Scott M Stark wrote:
 How can the scanClasspath() step be optimized/skipped in say an embedded
 ejb3 project in jbosside where the data obtained during the scan was
 written out in an optimized metadata store as part of the project say?
 
 I don't really follow adding aspects like clustering to deployments
 based on the location in a filesystem, virtual or otherwise. Just seems
 like too much meaning being linked to the deployment url/location.
 
 I'm busy through tomorrow, but come thu I will just checkin the current
 vfs stuff I have had sitting in the workspace for months and see what
 start can be made on pushing this forward.
 
 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] On Behalf Of Bill
 Burke
 Sent: Tuesday, January 31, 2006 9:28 AM
 To: jboss-development@lists.sourceforge.net
 Subject: Re: [JBoss-dev] EJB3StandaloneBootstrap implementation
 
 I think going the E-EJB3 route to start is a good idea as it will force 
 us to implement bare-bones implementations that do not have the idea of 
 a classloader or j2ee deployment schemes within them.  Once we have 
 e-ejb3 (really e-jboss) in place, it will force us to be careful about 
 adding things like classloading and j2ee packaging as to not break or 
 bloat e-jboss.
 
 The way I envision it working is basically how it works with current
 kernel
 
 * This shit must be REALLY FAST.  Remember, we're using it with junit
 tests.
 * embedded-jboss-beans.xml configures a MainDeployer,  BeanDeployer, 
 AOPDeployer, EJB3Deployer, (etc.) and basic services like TM, JNDI, etc.
 * EJB3StandaloneBootstrap still exists and has three methods:
 - boot(): This loads embeddded-jboss-beans.xml
 - scanClasspath().  The scans the entire classpath for deployments and 
 calls MainDeployer.deploy() for each jar/directory/config file it finds.
 
   calling MainDeployer.deploy(URL).
 - scanClasspath(String) comma delimited list of files that should be 
 deployed.  These files are in the classpath (java.class.path)
 - deployResource(String) deploys an individual Classpath resource. 
 (ejb3-interceptors-aop.xml) by calling MainDeployer.deploy(URL)
 
 My second thought is that Scanners should be responsible for creating 
 the DeploymentUnit rather than the main deployer.  This will allow the 
 scanner to add metadata about the deployment or to work with different 
 filesystems, like a database or profile.  For instance, I envision a 
 cluster/ directory where any deployment put in it that supports 
 clustering will be clustered.  The scanner could also be configured for 
 default security domain.  For this to work, the scanner needs to attach 
 metadata to the deploymentunit.  Since the MainDeployer will not be 
 responsible for creating the deployment unit, this will make it easier.
 
 If you look at the EJB3 code, you will also find that I

Re: [JBoss-dev] EJB3StandaloneBootstrap implementation

2006-02-01 Thread Bill Burke



Scott M Stark wrote:

How can the scanClasspath() step be optimized/skipped in say an embedded
ejb3 project in jbosside where the data obtained during the scan was
written out in an optimized metadata store as part of the project say?



The definition of embedded is *simple*.  This optimized metadata store 
should be an optional feature.  We don't want to require the user to 
have a special directory structure or special configuration requirements 
other than putting stuff in the classpath.  Also, in an IDE environment 
an optimized metadata store doesn't make much sense since users are 
recompiling, repackaging with each run.


IMO, a scan to create an optimized metadata store does not improve 
development time, its just overhead.



I don't really follow adding aspects like clustering to deployments
based on the location in a filesystem, virtual or otherwise. Just seems
like too much meaning being linked to the deployment url/location.



Its not that different than the singleton stuff.  The point is that 
users shouldn't have to configure each component to be clustered (or 
not) and repackage.



I'm busy through tomorrow, but come thu I will just checkin the current
vfs stuff I have had sitting in the workspace for months and see what
start can be made on pushing this forward.

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Bill
Burke
Sent: Tuesday, January 31, 2006 9:28 AM
To: jboss-development@lists.sourceforge.net
Subject: Re: [JBoss-dev] EJB3StandaloneBootstrap implementation

I think going the E-EJB3 route to start is a good idea as it will force 
us to implement bare-bones implementations that do not have the idea of 
a classloader or j2ee deployment schemes within them.  Once we have 
e-ejb3 (really e-jboss) in place, it will force us to be careful about 
adding things like classloading and j2ee packaging as to not break or 
bloat e-jboss.


The way I envision it working is basically how it works with current
kernel

* This shit must be REALLY FAST.  Remember, we're using it with junit
tests.
* embedded-jboss-beans.xml configures a MainDeployer,  BeanDeployer, 
AOPDeployer, EJB3Deployer, (etc.) and basic services like TM, JNDI, etc.

* EJB3StandaloneBootstrap still exists and has three methods:
- boot(): This loads embeddded-jboss-beans.xml
- scanClasspath().  The scans the entire classpath for deployments and 
calls MainDeployer.deploy() for each jar/directory/config file it finds.


  calling MainDeployer.deploy(URL).
- scanClasspath(String) comma delimited list of files that should be 
deployed.  These files are in the classpath (java.class.path)
- deployResource(String) deploys an individual Classpath resource. 
(ejb3-interceptors-aop.xml) by calling MainDeployer.deploy(URL)


My second thought is that Scanners should be responsible for creating 
the DeploymentUnit rather than the main deployer.  This will allow the 
scanner to add metadata about the deployment or to work with different 
filesystems, like a database or profile.  For instance, I envision a 
cluster/ directory where any deployment put in it that supports 
clustering will be clustered.  The scanner could also be configured for 
default security domain.  For this to work, the scanner needs to attach 
metadata to the deploymentunit.  Since the MainDeployer will not be 
responsible for creating the deployment unit, this will make it easier.


If you look at the EJB3 code, you will also find that I have done a 
kernel abstraction so that the EJB3 deployer and codebase does not have 
to be concerned about whether you are deployment to JBoss4 or MC.  If we


do the new deployers right, the new architecture can be used as an 
abstraction for projects that need to work in both JBoss4 and MC.


Man, I want to help prototype this stuff.  I was about to do it for the 
last EJB3 release, but I ran out of time.  I'll want to jump in and help


after I finish the EJB3 book.

Later,

Bill




Scott M Stark wrote:


I browsed through the EJB3StandaloneBootstrap and embedded ejb3 usage


of the mc to see what extent the mc is being used. In browsing through
the conf/embedded-jboss-beans.xml for the mc config, I did not see
anything related to the ejb3 container or aop layer to load the
conf/ejb3-interceptors-aop.xml. The embedded ejb3 docs show this
prototype code block for setting up embedded ejb3:




 EJB3StandaloneBootstrap.boot(null);

 // initialize JBoss MQ core services




EJB3StandaloneBootstrap.deployXmlResource(jboss-jms-beans.xml);


 // initialize configured test queue and topic

 EJB3StandaloneBootstrap.deployXmlResource(testjms.xml);

 // scan classpath for ejbs and MDBs

 EJB3StandaloneBootstrap.scanClasspath();



So a lot of configuration is being done outside of the mc


embedded-jboss-beans.xml. I guess this is due to missing implementation
details of the mc such as the vfs, virtual deployment impl, and class
loader configuration. I have been thinking

RE: [JBoss-dev] Generic Embedded/Bootstrap was RE: [JBoss-dev] EJB3StandaloneBootstrap implementation

2006-02-01 Thread Sacha Labourey
Hello Adrian,

This is really great, that is a much needed step for the MC usage/adoption
IMHO. 

 I am starting work on a prototype of the following three new 
 modules (I am not sure these are good names :-)

Yeah, not sure as well, but I am not sure i have great ideas at this point.

 1) Integration - Cross (other) container integration spi like 
 how do I bind to jndi?, give me the transaction synchronizer, etc.

OK. Why not simply JBoss SPI?

 2) Services - abstraction of our common container spi, such 
 that other projects can use these interfaces to talk to each 
 other rather than linking directly to implementation e.g. Who 
 knows whether the user wants to use JBossJTA or JBoss Transactions?

What is the real difference with 1)? I mean, 2) is really the SPI interface
while 1) simply looks like a factory/finder to this SPI. Right? If that is
the case, not sure we need to split them.

 3) Embedded - an extension to the kernel module that 
 introduces aop, jmx, profile service and eventually 
 aspectized deployments (all optional)

What are profile service? Is that what you refere as SPI above or
something else?

These extensions are different Personnalities, right? A JMX personnality,
an AOP one, etc. right? There could be an OSGi as well, correct?

 My plans for enhanced embedded bootstrap implementations are:
 * Explicit - tell me what you want to do
 - suitable for extension
 
 * Classpath - like current MC Standalone bootstrap
 - suitable for main() usage

I don't get this one compared to the previous one

 * URLClassLoader - parse getURLs() and look for config 
 relative to this
 - suitable for running inside an EJB container, servlet 
 container, etc.
 
 * Test - shared base common config + test specific config
 - suitable for use in JUnit/TestNG

I am not sure what you are really trying to do there?

 I think this has some redundancy with the EJB3 bootstrap 
 methods but it doesn't make sense to have this EJB3 specific.
 e.g. I want to
 * bootstrap/configure some JBoss Service inside a servlet 
 context of another JEE container
 * run tests against a service that requires other services
 * provide a real standalone distribution of JBoss Messaging
 * etc.

 My motivation for this prototype is not to get a product out 
 of it yet. It is to flush out the integration details between 
 the projects.

Is that a bandwidth issue or something else? I think it is really important
to do and I wouldn't be affraid to put it as a product if it raises its
priority.

That is great work Adrian, it is very important to setup this foundation to
JEMS. 

Cheers,


Sacha



---
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://sel.as-us.falkag.net/sel?cmd=lnkkid=103432bid=230486dat=121642
___
JBoss-Development mailing list
JBoss-Development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jboss-development


RE: [JBoss-dev] EJB3StandaloneBootstrap implementation

2006-02-01 Thread Scott M Stark
I'm saying the ide should be creating the optimized metadata view as the
project evolves. Of course this is an optional behavior.

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Bill
Burke
Sent: Wednesday, February 01, 2006 10:13 AM
To: jboss-development@lists.sourceforge.net
Subject: Re: [JBoss-dev] EJB3StandaloneBootstrap implementation



Scott M Stark wrote:
 How can the scanClasspath() step be optimized/skipped in say an
embedded
 ejb3 project in jbosside where the data obtained during the scan was
 written out in an optimized metadata store as part of the project say?
 

The definition of embedded is *simple*.  This optimized metadata store 
should be an optional feature.  We don't want to require the user to 
have a special directory structure or special configuration requirements

other than putting stuff in the classpath.  Also, in an IDE environment 
an optimized metadata store doesn't make much sense since users are 
recompiling, repackaging with each run.

IMO, a scan to create an optimized metadata store does not improve 
development time, its just overhead.




---
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://sel.as-us.falkag.net/sel?cmd=lnkkid3432bid#0486dat1642
___
JBoss-Development mailing list
JBoss-Development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jboss-development


[JBoss-dev] EJB3StandaloneBootstrap implementation

2006-01-31 Thread Scott M Stark






I browsed through the EJB3StandaloneBootstrap and embedded ejb3 usage of the mc to see what extent the mc is being used. In browsing through the conf/embedded-jboss-beans.xml for the mc config, I did not see anything related to the ejb3 container or aop layer to load the conf/ejb3-interceptors-aop.xml. The embedded ejb3 docs show this prototype code block for setting up embedded ejb3: EJB3StandaloneBootstrap.boot(null); // initialize JBoss MQ core services EJB3StandaloneBootstrap.deployXmlResource(jboss-jms-beans.xml); // initialize configured test queue and topic EJB3StandaloneBootstrap.deployXmlResource(testjms.xml); // scan classpath for ejbs and MDBs EJB3StandaloneBootstrap.scanClasspath();So a lot of configuration is being done outside of the mc embedded-jboss-beans.xml. I guess this is due to missing implementation details of the mc such as the vfs, virtual deployment impl, and class loader configuration. I have been thinking about how to push the mc forward by getting it more into jboss5, but maybe using the embedded ejb3 setup would be a less disruptive way to drive these features to completion.Does it make sense to organize the next set of mc releases around getting the embedded ejb3 completely configured from a prototype standalone mc bootstrap (http://docs.jboss.org/nightly/microkernel/docs/gettingstarted/en/html/standalone.html) which loads a more complete embedded-ejb3-beans.xml that includes the ejb3 container and aop configuration?






Re: [JBoss-dev] EJB3StandaloneBootstrap implementation

2006-01-31 Thread Bill Burke
I think going the E-EJB3 route to start is a good idea as it will force 
us to implement bare-bones implementations that do not have the idea of 
a classloader or j2ee deployment schemes within them.  Once we have 
e-ejb3 (really e-jboss) in place, it will force us to be careful about 
adding things like classloading and j2ee packaging as to not break or 
bloat e-jboss.


The way I envision it working is basically how it works with current kernel

* This shit must be REALLY FAST.  Remember, we're using it with junit tests.
* embedded-jboss-beans.xml configures a MainDeployer,  BeanDeployer, 
AOPDeployer, EJB3Deployer, (etc.) and basic services like TM, JNDI, etc.

* EJB3StandaloneBootstrap still exists and has three methods:
- boot(): This loads embeddded-jboss-beans.xml
- scanClasspath().  The scans the entire classpath for deployments and 
calls MainDeployer.deploy() for each jar/directory/config file it finds. 
 calling MainDeployer.deploy(URL).
- scanClasspath(String) comma delimited list of files that should be 
deployed.  These files are in the classpath (java.class.path)
- deployResource(String) deploys an individual Classpath resource. 
(ejb3-interceptors-aop.xml) by calling MainDeployer.deploy(URL)


My second thought is that Scanners should be responsible for creating 
the DeploymentUnit rather than the main deployer.  This will allow the 
scanner to add metadata about the deployment or to work with different 
filesystems, like a database or profile.  For instance, I envision a 
cluster/ directory where any deployment put in it that supports 
clustering will be clustered.  The scanner could also be configured for 
default security domain.  For this to work, the scanner needs to attach 
metadata to the deploymentunit.  Since the MainDeployer will not be 
responsible for creating the deployment unit, this will make it easier.


If you look at the EJB3 code, you will also find that I have done a 
kernel abstraction so that the EJB3 deployer and codebase does not have 
to be concerned about whether you are deployment to JBoss4 or MC.  If we 
do the new deployers right, the new architecture can be used as an 
abstraction for projects that need to work in both JBoss4 and MC.


Man, I want to help prototype this stuff.  I was about to do it for the 
last EJB3 release, but I ran out of time.  I'll want to jump in and help 
after I finish the EJB3 book.


Later,

Bill




Scott M Stark wrote:

I browsed through the EJB3StandaloneBootstrap and embedded ejb3 usage of the mc 
to see what extent the mc is being used. In browsing through the 
conf/embedded-jboss-beans.xml for the mc config, I did not see anything related 
to the ejb3 container or aop layer to load the conf/ejb3-interceptors-aop.xml. 
The embedded ejb3 docs show this prototype code block for setting up embedded 
ejb3:

 


  EJB3StandaloneBootstrap.boot(null);

  // initialize JBoss MQ core services

  EJB3StandaloneBootstrap.deployXmlResource(jboss-jms-beans.xml);

  // initialize configured test queue and topic

  EJB3StandaloneBootstrap.deployXmlResource(testjms.xml);

  // scan classpath for ejbs and MDBs

  EJB3StandaloneBootstrap.scanClasspath();

 


So a lot of configuration is being done outside of the mc 
embedded-jboss-beans.xml. I guess this is due to missing implementation details 
of the mc such as the vfs, virtual deployment impl, and class loader 
configuration. I have been thinking about how to push the mc forward by getting 
it more into jboss5, but maybe using the embedded ejb3 setup would be a less 
disruptive way to drive these features to completion.

 


Does it make sense to organize the next set of mc releases around getting the 
embedded ejb3 completely configured from a prototype standalone mc bootstrap 
(http://docs.jboss.org/nightly/microkernel/docs/gettingstarted/en/html/standalone.html)
 which loads a more complete embedded-ejb3-beans.xml that includes the ejb3 
container and aop configuration?

 

 



--
Bill Burke
Chief Architect
JBoss Inc.


---
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://sel.as-us.falkag.net/sel?cmd=lnkkid=103432bid=230486dat=121642
___
JBoss-Development mailing list
JBoss-Development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jboss-development


RE: [JBoss-dev] EJB3StandaloneBootstrap implementation

2006-01-31 Thread Scott M Stark
How can the scanClasspath() step be optimized/skipped in say an embedded
ejb3 project in jbosside where the data obtained during the scan was
written out in an optimized metadata store as part of the project say?

I don't really follow adding aspects like clustering to deployments
based on the location in a filesystem, virtual or otherwise. Just seems
like too much meaning being linked to the deployment url/location.

I'm busy through tomorrow, but come thu I will just checkin the current
vfs stuff I have had sitting in the workspace for months and see what
start can be made on pushing this forward.

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Bill
Burke
Sent: Tuesday, January 31, 2006 9:28 AM
To: jboss-development@lists.sourceforge.net
Subject: Re: [JBoss-dev] EJB3StandaloneBootstrap implementation

I think going the E-EJB3 route to start is a good idea as it will force 
us to implement bare-bones implementations that do not have the idea of 
a classloader or j2ee deployment schemes within them.  Once we have 
e-ejb3 (really e-jboss) in place, it will force us to be careful about 
adding things like classloading and j2ee packaging as to not break or 
bloat e-jboss.

The way I envision it working is basically how it works with current
kernel

* This shit must be REALLY FAST.  Remember, we're using it with junit
tests.
* embedded-jboss-beans.xml configures a MainDeployer,  BeanDeployer, 
AOPDeployer, EJB3Deployer, (etc.) and basic services like TM, JNDI, etc.
* EJB3StandaloneBootstrap still exists and has three methods:
- boot(): This loads embeddded-jboss-beans.xml
- scanClasspath().  The scans the entire classpath for deployments and 
calls MainDeployer.deploy() for each jar/directory/config file it finds.

  calling MainDeployer.deploy(URL).
- scanClasspath(String) comma delimited list of files that should be 
deployed.  These files are in the classpath (java.class.path)
- deployResource(String) deploys an individual Classpath resource. 
(ejb3-interceptors-aop.xml) by calling MainDeployer.deploy(URL)

My second thought is that Scanners should be responsible for creating 
the DeploymentUnit rather than the main deployer.  This will allow the 
scanner to add metadata about the deployment or to work with different 
filesystems, like a database or profile.  For instance, I envision a 
cluster/ directory where any deployment put in it that supports 
clustering will be clustered.  The scanner could also be configured for 
default security domain.  For this to work, the scanner needs to attach 
metadata to the deploymentunit.  Since the MainDeployer will not be 
responsible for creating the deployment unit, this will make it easier.

If you look at the EJB3 code, you will also find that I have done a 
kernel abstraction so that the EJB3 deployer and codebase does not have 
to be concerned about whether you are deployment to JBoss4 or MC.  If we

do the new deployers right, the new architecture can be used as an 
abstraction for projects that need to work in both JBoss4 and MC.

Man, I want to help prototype this stuff.  I was about to do it for the 
last EJB3 release, but I ran out of time.  I'll want to jump in and help

after I finish the EJB3 book.

Later,

Bill




Scott M Stark wrote:
 I browsed through the EJB3StandaloneBootstrap and embedded ejb3 usage
of the mc to see what extent the mc is being used. In browsing through
the conf/embedded-jboss-beans.xml for the mc config, I did not see
anything related to the ejb3 container or aop layer to load the
conf/ejb3-interceptors-aop.xml. The embedded ejb3 docs show this
prototype code block for setting up embedded ejb3:
 
  
 
   EJB3StandaloneBootstrap.boot(null);
 
   // initialize JBoss MQ core services
 

EJB3StandaloneBootstrap.deployXmlResource(jboss-jms-beans.xml);
 
   // initialize configured test queue and topic
 
   EJB3StandaloneBootstrap.deployXmlResource(testjms.xml);
 
   // scan classpath for ejbs and MDBs
 
   EJB3StandaloneBootstrap.scanClasspath();
 
  
 
 So a lot of configuration is being done outside of the mc
embedded-jboss-beans.xml. I guess this is due to missing implementation
details of the mc such as the vfs, virtual deployment impl, and class
loader configuration. I have been thinking about how to push the mc
forward by getting it more into jboss5, but maybe using the embedded
ejb3 setup would be a less disruptive way to drive these features to
completion.
 
  
 
 Does it make sense to organize the next set of mc releases around
getting the embedded ejb3 completely configured from a prototype
standalone mc bootstrap
(http://docs.jboss.org/nightly/microkernel/docs/gettingstarted/en/html/s
tandalone.html) which loads a more complete embedded-ejb3-beans.xml that
includes the ejb3 container and aop configuration?
 
  
 
  
 

-- 
Bill Burke
Chief Architect
JBoss Inc.


---
This SF.net email is sponsored by: Splunk