OSGi deployments cause missing Module for other deployment processors?
by Jaikiran Pai
While looking at a user reported bug in AS7, I noticed that a user
deployment can be missing a MODULE attachment. My understanding so far
was that each deployment will *always* have a MODULE attached to it. But
looking at the code, I see that some deployments are skipped while
creating and attaching the modules. Specifically, if a deployment
contains a OSGi Manifest, then the module creation and attachment is
skipped for that module
https://github.com/jbossas/jboss-as/blob/master/server/src/main/java/org/...
Why is that the case? Aren't deployments which contain OSGi Manifest
supposed to be processed by other deployers (for example a EJB
annotation processing deployer)?
-Jaikiran
13 years, 3 months
EJB subsystem refactoring
by Stuart Douglas
Hi everyone,
There is some fairly major refactoring I would like to do ti the EJB/EE subsystem, I just thought I would run it by everyone to see if anyone had any suggestions / objections.
1) Remove AbstractAnnotationEJBProcessor, and replace it with a system that attaches annotation information directly to EEModuleClassDescription
I have a prototype of this at:
https://github.com/stuartwdouglas/jboss-as/compare/jbossas:master...stuar...
This approach has a number of advantages:
- AbstractAnnotationEJBProcessor does not handle annotations in different sub deployments properly, so if a bean inherits from classes in another sub deployment those annotations will not be processed (this has potential security implications for things like the EJB security annotations).
- This should remove a lot of boilerplate code that is present in the annotation processors (I know at the moment the patch increases the total loc slightly, but after all the processors are converted it should reduce it)
- It should give us a more consistent approach to merging, at the moment there is a deployment descriptor processor, and annotation processor, and a merging processor, that are mostly copied / pasted all over the place. With this change there will only by 1 processor, that is responsible for merging the annotation and descriptor data, and attaching it to the description/configuration.
2) Subclass ComponentConfiguration for each component type
At the moment there is no where to store post class loading metadata for EJB components. This has been worked around with nasty hacks, either by storing post-class loading stuff in the description:
https://github.com/jbossas/jboss-as/blob/master/ejb3/src/main/java/org/jb...
Or by performing configuration work in the ComponentCreateService that should really be done in DUP's / configurators:
https://github.com/jbossas/jboss-as/blob/master/ejb3/src/main/java/org/jb...
In some cases this has resulted in EjbComponent's using maps keyed on MethodIdentifier internally, rather than a faster IdentityMap with the actual method objects from the reflection index.
https://github.com/jbossas/jboss-as/blob/master/ejb3/src/main/java/org/jb...
https://github.com/jbossas/jboss-as/blob/master/ejb3/src/main/java/org/jb...
There are also places in the code where we go from a Method object, store a MethodIdentifer, and then later re-resolve the original Method object, which is not ideal.
Does all this sound reasonable?
Stuart
13 years, 3 months
AS7 Logging: System Logging produced incorrect information
by Bill Hong (Gong)
Hi,
I've been testing AS7 logging system for our product. I got strange logging information after the web application was deployed. The web application loaded Spring context when application was started up. It seemed system could not produce correct logging information once the Spring context of web application was loaded. Something was wrong after that.
It created information like:
...
<Aug 22, 2011 4:53:43 PM> <INFO> <org.jboss.as.server.deployment.DeploymentHandlerUtil$4 execute> <Replaced deployment "%s" with deployment "%s">
...
In standalone.xml, it defined pattern like "%d{HH:mm:ss,SSS} %-5p [%c %M] (%t) %s%E%n". As you know, there were two problems in the logging information:
1) %t was not replaced by correct thread information
2) %s%E%n was not replaced by relevant information.
I'm not sure if anyone has reported similar issue already. Is there anything I can do for further investigation and find a workaround?
Thank you!
Regards,
Bill
________________________________
CONFIDENTIALITY NOTICE
This e-mail message from Delphi Technology, Inc. is intended only for the individual or entity to which it is addressed. This e-mail may contain information that is privileged, confidential and exempt from disclosure under applicable law. If you are not the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you received this e-mail by accident, please notify the sender immediately and destroy this e-mail and all copies of it.
13 years, 3 months
Farming service in AS 7
by Francesco Marchioni
Dear devs,
will there be any farming service in AS 7 ? I've been testing a standalone
cluster but I couldn't get the deployment propagated on other cluster
members ( just copied the deployment unit on all cluster members). Haven't
tested with a domain though.
Thanks a lot in advance
Francesco
13 years, 3 months
Proposal of a system metrics subsystem
by Thomas Diesler
Folks,
I recently looked at the gwt console and the management model in order
to find some system metrics similar to what is available through
jconsole - I couldn't find it.
A remote client could use the system metrics (available through json
data structures) to monitor server/domain health.
Initially I propose to add some static env information for the
standalone server. Perhaps something like this
http://community.jboss.org/thread/171176
cheers
-thomas
--
xxxxxxxxxxxxxxxxxxxxxxxxxxxx
Thomas Diesler
JBoss OSGi Lead
JBoss, a division of Red Hat
xxxxxxxxxxxxxxxxxxxxxxxxxxxx
13 years, 3 months
Default values in the model
by Brian Stansberry
Emanuel,
Or chat yesterday about the downsides of storing default values in the
in-memory management model got me thinking a bit.
Downsides:
1) The in-memory model no longer represents the user configuration
values; it also stores defaults. This is an issue when marshalling back
to xml; you either have to make the xml verbose by writing back all the
defaults, or you don't write back defaults and lose the fact the user
included the value in the original.
2) Possible versioning issues in a domain where different hosts run
different versions; i.e. if the version on the domain controller host
stores and pushes to servers a default value that a server running an
earlier version doesn't understand. This would really be a bug, since a
change in a default value should spur an increment in the subsystem's
schema and appropriate handling by the parser. But still, storing
defaults increases the chances of this kind of bug cropping up.
Possible solution:
What's been requested previously is that management clients be able to
see the default values, without having to go read the resource
description metadata to find them. That request can be satisfied via the
read-resource and read-attribute handlers. There is no need to store the
default in the model; those handlers can read the resource description
metadata to find the default if the model doesn't have a value stored.
That will slow those handlers down a little bit since the description
has to be generated and read, but those handlers aren't called as part
of our internal operations (e.g. boot) so doing it that way won't slow
down boot, deployment etc.
An issue that doing it this way raises is a client calling read-resource
or read-attribute doesn't know if the returned value is the actual user
config or is a default. A solution to that is to have those operations
accept a new parameter "defaults" which if false does not include the
defaults.
I'm not sure what the best default value for that "default" param would
be. My instinct is "true".
WDYT?
--
Brian Stansberry
Principal Software Engineer
JBoss by Red Hat
13 years, 3 months
How to start/stop/reset connection pool by java program in AS7?
by Bill Hong (Gong)
Hi,
The functionalities to start/stop/reset a connection pool are not available in AS 7 "Admin Console" any more. Besides, it seems the MBean service "jboss.jca.ManagedConnectionPool" is removed. Therefore, the previous approach in AS6 won't work now. I can't find any relevant documents to explain how to get the instance of "ManagedConnectionPool" in As7 and perform those actions in a java program. Can anyone give me some suggestions or clues to work it out please?
Thanks in advance!
Regards,
Bill
________________________________
CONFIDENTIALITY NOTICE
This e-mail message from Delphi Technology, Inc. is intended only for the individual or entity to which it is addressed. This e-mail may contain information that is privileged, confidential and exempt from disclosure under applicable law. If you are not the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you received this e-mail by accident, please notify the sender immediately and destroy this e-mail and all copies of it.
13 years, 3 months
Should the resource name included in attribute sets?
by Heiko W.Rupp
Hi,
I am currently looking at /system-property and see
[standalone@localhost:9999 /] /system-property=foo:read-resource
{
"outcome" => "success",
"result" => {"value" => "hula"}
}
while /path=rhq.home (and /socket-binding-group=x:socket-binding=y) have an
attribute with the name in it.
[standalone@localhost:9999 /] /path=rhq.home:read-resource
{
"outcome" => "success",
"result" => {
"name" => "rhq.home",
For RHQ configuration processing, the name attribute is helpful,
but the larger question is about consistency here.
So should this 'name' attribute be present everywhere or be removed
everywhere?
Heiko
--
Reg. Adresse: Red Hat GmbH, Technopark II, Haus C,
Werner-von-Siemens-Ring 14, D-85630 Grasbrunn
Handelsregister: Amtsgericht München HRB 153243
Geschaeftsführer: Brendan Lane, Charlie Peters, Michael Cunningham, Charles Cachera
13 years, 3 months