Branding/Product JAR & Console Impact
by Jason T. Greene
In order to make it easier for multiple products (EAP/SOA-P/etc) to
consume the same common AS source code, we need to implement a
plugability mechanism that allows version numbers, branding
skins/themes, logos, etc to be easily replaced (preferably using a
single jar).
The mechanism would involve supplying some kind of an argument to the
bootstrap. For example:
java -jar \"$JBOSS_HOME/jboss-modules.jar\" \
<snip>
org.jboss.as.standalone
-Djboss.brand.module=org.jboss.as.project-brand
We would then provide some API to get the module so that it can be used
to launch services and/or perform resource loading.
The most complex piece is probably the console branding. I haven't
looked in detail at the static console layout. Are things separated
enough that we can easily redefine images, text etc for branding?
Ideally we would break anything that would be replaced into a separate
console/branding/foo.jpg|html resource. Then the server can redirect
resource requests with that directory to branding module resource loading.
--
Jason T. Greene
JBoss AS Lead / EAP Platform Architect
JBoss, a division of Red Hat
13 years, 3 months
Re: [jboss-as7-dev] API Feedback Releases: ShrinkWrap Descriptors 1.2.0-alpha Series
by Andrew Lee Rubinger
Thanks for the feedback, Remy. Inline.
On 09/14/2011 09:31 AM, Remy Maucherat wrote:
> On Tue, 2011-09-13 at 17:20 +0200, Andrew Lee Rubinger wrote:
>> Hi all:
>>
>> Last week we made available ShrinkWrap Descriptors 1.2.0-alpha-1.
>>
>> The scope of this project is very simple: Provide a object model DSL for
>> metadata. For instance:
>>
>> final WebAppDescriptor desc = Descriptors.create(WebAppDescriptor.class)
>> .createSessionConfig().sessionTimeout(timeout)
>> .getOrCreateCookieConfig().name(name).domain(domain)
>> .path(path).maxAge(maxAge).up()
>> .trackingMode(TrackingModeType._COOKIE.name()).up();
>> final String exported = desc.exportAsString();
>
> Since you used web as an example, I had a (relatively quick) look, and I
> have some observations:
> - It doesn't do taglib descriptors.
https://issues.jboss.org/browse/SHRINKDESC-94
> - No jboss-web.xml either.
https://issues.jboss.org/browse/SHRINKDESC-93
> - In the absolute ordering thing, the position of "others" in the list
> is needed.
Probably this should be applied to all iterable types, right? To
determine the order in any list of Elements?
> - Shouldn't the EE elements be moved in superclasses ? Maybe it's easier
> this way though.
Superclasses are a function of code organization, really. In
Descriptors we take a bit of a different tack because the source is
generated from the XSDs. So typical rules like clean structure go out
the window, and all that matters is the bottom-line API and that the
impl passes our end-user tests.
> Right now, I think it would be ok to handle this using a "parser" for
> JBoss Metadata, which would convert the SW descriptors to the JBoss
> metadata objects.
What I'd like to do in the short-term is nail down the Descriptors EE
APIs, then we can ask if it makes sense to build layers atop this to
provide the other functions currently given by jboss-metadata (ie.
merging, validation, defaults). That's if AS7 subprojects start to use
this as the metadata view.
Right now, the main use case for Descriptors is in easily generating
metadata for tested archives (ie. Arquillian + ShrinkWrap @Deployments)
S,
ALR
--
Andrew Lee Rubinger
Senior Software Engineer
JBoss by Red Hat
Twitter: @ALRubinger
http://about.me/alrubinger
13 years, 3 months
Critical EJB TCK Related Tasks
by Jason T. Greene
The following is my perception of the big tasks we have yet to complete
for ejb full, and who is working on which ones. Please reply with your
thoughts and if you plan to take ownership of any of them. Afterwords I
will translate all of this to JIRA (some of it already exists).
I. Descriptor Parsing and Merging *OPEN*
1. Resurect jboss.xml [maybe call it jboss-ejb.xml] (The TCK needs
this since we can't modify spec descriptors to use the new
equivalent EE6 features (lookupName)
2. App client parsing and merging
II. App client bootstrap *OPEN*
1. Modular launch similar to embedded ejb
java -jar jboss-modules.jar -mp ... org.jboss.as.appclient \
my-client.jar
2. Client injection (covers statics)
3. Use of local resources (datasource
III. Remoting Invocation *DAVID*
1. Client proxies
2. Remote protocol
3. Direct access API
4. IN-VM @Remote
IV. EJB 2 Views *STUART* *Completed, not yet merged*
1. Home
2. Start of entities / BMP
V. IIOP Invocation *OPEN*
1. COS name reservation
2. Mapping interceptors
3. RMI proxies (blocks on III)
VI. CMP *JOHN*
1. Porting old EJB-QL engine
2. Porting entity interceptors
3. Descriptor work
--
Jason T. Greene
JBoss AS Lead / EAP Platform Architect
JBoss, a division of Red Hat
13 years, 3 months
i18n Logging and Messages
by James Perkins
Hello All,
As some of you may or may not have noticed we've started merging some
changes into the AS7 upstream for i18n logging and messages.
What does this mean to you?
Only use the message loggers for logging levels INFO or higher and all
message logger methods must have an id. A list of id's can be found here
http://community.jboss.org/wiki/LoggingIds. Anything below the logging
level INFO should still use message logger, but just invoke the logging
method directly, e.g. ConnectorLogger.ROOT_LOGGER.debugf("Building
DefaultBootstrapContext: %s", value).
All message bundles must also have a unique id as well. *Note that at
this point the subsystems that have been updated to use the i18n message
bundles do not have unique id's, but will in the future.
Also both message loggers and message bundles must have a project code
of JBAS.
See the connector subsystem
(https://github.com/jbossas/jboss-as/tree/master/connector/src/main/java/o...)
for an example of how we're using the message loggers and message
bundles. Or to see just what changed in the connector subsystem
https://github.com/jbossas/jboss-as/commit/8dd0d5c1269ac20ffcc45dd9d606f9....
Please feel free to ask any questions or for further clarification.
--
James R. Perkins
JBoss by Red Hat
13 years, 3 months
Important Subsystem Management Use-Cases
by Jason T. Greene
The following is my perception of what we really want to offer in terms
of management use cases on a per subsystem basis. In some cases we offer
these today in DMR, in others we do not, and need to get them in ASAP.
As a first though, I wanted to make sure that everyone is on the same
page about what we need. I tried to list these in order of importance.
Please offer your thoughts and/or make corrections
Infinispan
----------
1. Start/stop cache
2. Adjust expiration/eviction settings
3. Create new cache configs
4. Modify all other settings (write attribute)
JCA Core
---
1. Adjust work manager defaults
2. Modify all other settings (write attribute)
JCA Resource Adapters & Datasources
---------------------------------
1. Define new resource adapters / DS
2. Adjust pool settings
3. Pool metrics
4. Flush pools
5. Secure existing resource adapters
6. Change JNDI name (possibly a copy and expiration to allow hot changes)
7. Modify all other settings (write attribute)
Deployment Scanner
------------------
1. Disable/Enable
2. Modify all other settings (write attribute)
EE
--
1. Modify global module list
2. Dump all naming information for an EE deployment
3. Modify all other settings (write attribute)
EJB3
----
1. Manage pool settings
2. Pool metrics
3. Flush pools
4. Adjust default MDB resource adapter
5. Configure scheduler service
6. Scheduler service metrics
7. Modify all other settings (write attribute)
8. Manually remove/add scheduled events
JAX-RS
------
Nothing to do here?
JMX
---
1. Add/remove connection configuration
2. Security domain configuration
JPA
---
1. Setting the default data source
2. Enable/Disable and expose Hibernate Entity Manager metrics (note
these probably belong underneath the deployment)
Logging
-------
1. Define a new logger
2. Change log level (hot)
3. Edit all attributes on an existing logger
4. Add a custom handler
5. Add a custom formatter
Naming
------
1. Dump all jndi bindings
OSGi
----
1. Anything beyond Enable/Disable is a nice to have
POJO
----
Nothing to do here?
Remoting
--------
1. Add/Edit all connectivity information
2. Modify thread pool settings
3. Modify all other settings (write attribute)
SAR
---
Perhaps some combatibility settings?
Security
--------
1. Define a new security domain
2. Flush authentication cache on the domain
3. Edit all attributes on a domain (write attribute)
4. Authentication metrics
Transactions
------------
1. Edit recovery manager settings
2. Toggle JTA/JTS (restart required ok)
3. All other writable attributes
4. Transaction metrics
Web
---
1. Add / Remove connector configs
2. Edit all connector settings
3. Connection metrics
4. Add / Remove virtual server configurations
5. Add / Remove virtual server aliases and edit all settings
6. Specify a custom executor
Weld
----
Nothing to do here?
--
Jason T. Greene
JBoss AS Lead / EAP Platform Architect
JBoss, a division of Red Hat
13 years, 3 months
Dynamic configuration?
by RW Shore
Under versions prior to AS7, it was possible to add data sources and login
configurations via appropriately structured XML documents in an EAR file's
META-INF directory. AS7 does not appear to support such dynamic,
per-application configuration. That is, as far as I can tell the only way to
add a datasource or login config is to edit the central standalone-xxx.xml
config file. Is this correct? If I'm wrong and there is a per-application
configuration strategy, then are there examples of how to perform the
per-app config?
13 years, 3 months
Specifying security-domain in application (WAR)
by Karel Piwko
Hi All,
I'm trying to modify an application which uses preauth in order to work
on AS7 (tried 7.0.1.Final and compiled 7.1.0-Alpha1-SNAPSHOT).
I using *-jboss-beans.xml but in vain, as reported in
https://issues.jboss.org/browse/AS7-1794 . However, all the documents
say that *-jboss-beans.xml triggers MSC(Pojo) subsystem and this is
legacy support.
Is there a non-legacy way how to specify <security-domain>
<authentization> directly in the application or at least via CLI so this
changes can be done/reverted automatically during testing?
Thanks,
Karel
13 years, 3 months
Concerns about options for standalone and domain scripts
by Rostislav Svoboda
Hi guys.
I have concerns about options for standalone and domain .sh/.bat scripts.
Current options for standalone.sh are:
10:28:27,893 INFO [stdout] Usage: ./standalone.sh [args...]
10:28:27,893 INFO [stdout]
10:28:27,893 INFO [stdout] where args include:
10:28:27,894 INFO [stdout] -b=<value> Set system property jboss.bind.address.public to the given value
10:28:27,894 INFO [stdout] -b<interface>=<value> Set system property jboss.bind.address.<interface> to the given value
10:28:27,894 INFO [stdout] -D<name>[=<value>] Set a system property
10:28:27,894 INFO [stdout] -h Display this message and exit
10:28:27,894 INFO [stdout] --help Display this message and exit
10:28:27,894 INFO [stdout] -P=<url> Load system properties from the given url
10:28:27,894 INFO [stdout] --properties=<url> Load system properties from the given url
10:28:27,895 INFO [stdout] --server-config=<config> Name of the server configuration file to use (default is "standalone.xml")
10:28:27,895 INFO [stdout] -V Print version and exit
10:28:27,895 INFO [stdout]
10:28:27,895 INFO [stdout] --version Print version and exit
** Version vs. help options: (applies to domain script too)
-V or --version vs. -h or --help
Shouldn't be '-h' changed to '-H' or '-V' changed to '-v' to stay consistent?
** Empty line before --version option (applies to domain script too)
Is it intentional?
** Bind address definition -- https://github.com/jbossas/jboss-as/pull/248
Shouldn't be legacy syntax of -b xxx mentioned in help too? I know it's against formats described in 'Other command line parameters' chapter of Admin Guide ... but it would prevent confusion of many end users.
** In help for domain there is nothing about option '-b'
Command 'bin/domain.sh --domain-config=domain-preview.xml -b=0.0.0.0 -bmanagement=0.0.0.0' works as expected and java processes are listening on 0.0.0.0.
Is there reason why '-b' options aren't described in help for domain.sh?
Kind regards.
Rosta
13 years, 3 months