[Design of JBoss ESB] - Re: JmsConnectionPool: Allowing control over the number of S
by Kevin.Conner@jboss.com
Perhaps I have misunderstood what you are proposing in that case :)
The pool, as far as the client is concerned, should be a single entity but the internals are currently such that there is a single association between the connection and the sessions, whether XA or non XA.
This client view should be retained but it would be better for the internals of the pool to manage the associations between the connections and their sessions independently, both for non-XA and XA resources. The 'client pool' would therefore contain a number of internal pools.
Your second option sounds as if you intended to keep a single internal pool of the sessions but this would complicate the tracking of the relationships. Of course this may not be what you had intended.
Perhaps you can give an expanded description of your options so that we can get a better understanding of what you are proposing.
Kev
Kev
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4230315#4230315
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4230315
16 years, 11 months
[Design the new POJO MicroContainer] - Re: DESCRIBE phase - Dependency builders for MC Beans
by alesj
"alesj" wrote :
| I'm thinking in the lines of putting DependencyBuilder into per bean instance scope in MetaData.
| If there is one present, use it, otherwise fall to default - from KernelConfig.
I've added this:
| protected DependencyBuilder getDependencyBuilder(MetaData md, Kernel kernel) throws Throwable
| {
| DependencyBuilder dependencyBuilder = md.getMetaData(DependencyBuilder.class);
| if (dependencyBuilder == null)
| {
| KernelConfig config = kernel.getConfig();
| dependencyBuilder = config.getDependencyBuilder();
| }
| return dependencyBuilder;
| }
|
| @SuppressWarnings("unchecked")
| protected void installActionInternal(KernelControllerContext context) throws Throwable
| {
| BeanInfo info = context.getBeanInfo();
| if (info != null)
| {
| KernelController controller = (KernelController)context.getController();
| Kernel kernel = controller.getKernel();
| KernelMetaDataRepository repository = kernel.getMetaDataRepository();
| MetaData md = repository.getMetaData(context);
| DependencyBuilder dependencyBuilder = getDependencyBuilder(md, kernel);
| // add custom dependencies (e.g. AOP layer).
| List<DependencyBuilderListItem> dependencies = dependencyBuilder.getDependencies(info, md);
|
can you try it out?
You will need to take an existing KernelControllerContext
and add DependencyBuilder metadata for its ScopeInfo's scope.
(see BasicKernelMetaDataRepository for actual usage)
This will (mostly) even add more penalty to the performance,
as we have to check MetaData for DependencyBuilder instance.
Although it shouldn't be much, as it's only a few Map entry checks.
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4230304#4230304
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4230304
16 years, 11 months