[
https://issues.jboss.org/browse/ISPN-1065?page=com.atlassian.jira.plugin....
]
Manik Surtani commented on ISPN-1065:
-------------------------------------
Wrt. alignment, the original motivation behind using JAXB was that I wanted a single place
to define config and docs, such that XSD, online docs and a parser could all be generated
from it. The end result was a Configuration bean (and a set of related beans) that
defined the programmatic configuration, appropriately Javadoc'd. Appropriate
annotations applied to this bean was then used by JAXB to generate the XSD and parser, and
a custom doclet Vladimir wrote scanned the bean, JAXB annotations and Javadocs to generate
the online config doc:
http://docs.jboss.org/infinispan/5.0/apidocs/config.html
Whatever solution we end up with to replace JAXB, and any evolution of the Configuration
beans, should still adhere to DRY and producing coherent and aligned resources for users,
without any repetition on the part of the developer. Otherwise things do get forgotten
and left out.
Use a better mechanism to parse config files
--------------------------------------------
Key: ISPN-1065
URL:
https://issues.jboss.org/browse/ISPN-1065
Project: Infinispan
Issue Type: Enhancement
Components: Configuration
Affects Versions: 4.2.1.FINAL
Reporter: Manik Surtani
Assignee: Vladimir Blagojevic
Labels: jaxb
Fix For: 5.1.0.BETA1, 5.1.0.Final
The current codebase heavily relies on JAXB to:
1. Generate a XSD schema from a Configuration bean
2. Generate a parser to use with an XML configuration
This is known to be slow, and can significantly add to start up time:
{quote}
We did some analysis of our AS6 descriptor code which was using JAXB (800ms), compared to
straight stax (10ms)
{quote}
A possible solution could be to still use JAXB to generate the schema, but to also write
a Maven plugin which would generate a STAX parser based on the XSD schema and
Configuration bean at build time. Infinispan would then use this STAX parser rather than
a JAXB generated parser, which would be a lot faster.
--
This message is automatically generated by JIRA.
For more information on JIRA, see:
http://www.atlassian.com/software/jira