[dna-issues] [JBoss JIRA] Commented: (DNA-58) Create repository configuration and component

Randall Hauch (JIRA) jira-events at lists.jboss.org
Thu Apr 23 12:44:40 EDT 2009


    [ https://jira.jboss.org/jira/browse/DNA-58?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12464144#action_12464144 ] 

Randall Hauch commented on DNA-58:
----------------------------------

Refactored the DnaConfiguration to make use of the graph repository for storing the configuration.  When used, the DnaConfiguration instance persists all the information to this graph, where it can be read and used.  A "save()" method was added to allow the code using the DnaConfiguration instance to control when the content is updated.  (This also simplified the unit testing, since it's very easy to check the graph content after the DnaConfiguration methods are used.)  The DnaEngine was then updated to read the configuration repository content and to instantiate and set up the services.

This "configuration repository" defaults to an in-memory repository, but can be set up to use a particular RepositorySource instance (that has already been set up) or to reflectively create an instance given the class name, optional class loader, and various (implementation-specific) Java bean properties.  

This means that in the simplest case, one can simply create a DnaConfiguration and configure the sequencers, sources, detectors, etc.  It also makes it very simple to "read" an XML file with the configuration, since that just uses the XML graph importer.  But using a configuration repository shines in the more advanced cases, such as when a process participates in a cluster.  Here, the process can create a DnaConfiguration, very easily set it up to use a shared (and remote) configuration repository (that already has the content), and without any other work immediately build the DnaEngine.

Using a graph as the configuration repository also means that any changes to the configuration could be monitored via graph events, allowing the DnaEngine to monitor any changes and dynamically alter its services.

> Create repository configuration and component
> ---------------------------------------------
>
>                 Key: DNA-58
>                 URL: https://jira.jboss.org/jira/browse/DNA-58
>             Project: DNA
>          Issue Type: Task
>          Components: Connectors, Federation, Sequencers
>    Affects Versions: 0.3
>            Reporter: Randall Hauch
>            Assignee: Randall Hauch
>            Priority: Critical
>             Fix For: 0.4
>
>         Attachments: DNA-58_builder_engine.patch, DNA-58_component_properties.patch
>
>
> There needs to be a configuration object that wraps the sequencing and repository services and makes working with DNA repositories easier.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the dna-issues mailing list