ModeShape
  1. ModeShape
  2. MODE-1435

Improved and working ModeShape AS7 subsystem

    Details

    • Type: Task Task
    • Status: Closed Closed (View Workflow)
    • Priority: Blocker Blocker
    • Resolution: Done
    • Affects Version/s: 3.0.0.Alpha2
    • Fix Version/s: 3.0.0.Alpha4
    • Component/s: JCR, Server
    • Labels:
      None
    • Similar Issues:
      Show 10 results 

      Description

      When deployed as a subsystem inside AS7, ModeShape is not able to find the existing CacheManager instance managed by AS7 and instead always creates its own cache manager. (It can currently look it up via JNDI, but IIRC the Infinispan CacheManager in AS7 is not registered in JNDI but may be an AS7 service.)

      We should define a new interface (e.g., CacheManagerLookup or CacheManagerProvider?) that is specified in the configuration (similar to how the ChannelProvider class is specified in the "clustering" section of the configuration).

        Issue Links

          Activity

          Hide
          Randall Hauch
          added a comment -

          This is critical - without this functionality, ModeShape tries to create its own CacheManager (aka, CacheContainer), and this of course fails in AS7 when the repository is started (by accessing the RESTful service app). Here's the log, where the first message shows the "modeshape-rest.war" was successfully deployed, and the remainder is the error after an HTTP GET is sent to http://localhost:8080/modeshape-rest/:

          17:12:00,054 INFO  [org.jboss.as.server] (DeploymentScanner-threads - 2) JBAS018559: Deployed "modeshape-rest.war"
          17:12:05,230 SEVERE [org.modeshape.jcr.JcrRepositoryFactory] (http--127.0.0.1-8080-1) The 'sample' repository in the ModeShape engine in JNDI at 'jcr/local' is not running or has been shutdown
          17:12:05,286 ERROR [stderr] (http--127.0.0.1-8080-1) javax.jcr.RepositoryException: Error while starting 'sample' repository: Unable to load component metadata!
          17:12:05,287 ERROR [stderr] (http--127.0.0.1-8080-1) 	at org.modeshape.jcr.JcrRepository.login(JcrRepository.java:566)
          17:12:05,287 ERROR [stderr] (http--127.0.0.1-8080-1) 	at org.modeshape.jcr.JcrRepository.login(JcrRepository.java:138)
          17:12:05,288 ERROR [stderr] (http--127.0.0.1-8080-1) 	at org.modeshape.web.jcr.RepositoryManager.getSession(RepositoryManager.java:140)
          17:12:05,288 ERROR [stderr] (http--127.0.0.1-8080-1) 	at org.modeshape.web.jcr.rest.AbstractHandler.getSession(AbstractHandler.java:39)
          17:12:05,288 ERROR [stderr] (http--127.0.0.1-8080-1) 	at org.modeshape.web.jcr.rest.ServerHandler.getRepositories(ServerHandler.java:57)
          17:12:05,289 ERROR [stderr] (http--127.0.0.1-8080-1) 	at org.modeshape.web.jcr.rest.JcrResources.getRepositories(JcrResources.java:169)
          17:12:05,289 ERROR [stderr] (http--127.0.0.1-8080-1) 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          17:12:05,289 ERROR [stderr] (http--127.0.0.1-8080-1) 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
          17:12:05,290 ERROR [stderr] (http--127.0.0.1-8080-1) 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
          17:12:05,290 ERROR [stderr] (http--127.0.0.1-8080-1) 	at java.lang.reflect.Method.invoke(Method.java:597)
          17:12:05,290 ERROR [stderr] (http--127.0.0.1-8080-1) 	at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:155)
          17:12:05,291 ERROR [stderr] (http--127.0.0.1-8080-1) 	at org.jboss.resteasy.core.ResourceMethod.invokeOnTarget(ResourceMethod.java:257)
          17:12:05,291 ERROR [stderr] (http--127.0.0.1-8080-1) 	at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:222)
          17:12:05,291 ERROR [stderr] (http--127.0.0.1-8080-1) 	at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:211)
          17:12:05,292 ERROR [stderr] (http--127.0.0.1-8080-1) 	at org.jboss.resteasy.core.SynchronousDispatcher.getResponse(SynchronousDispatcher.java:525)
          17:12:05,292 ERROR [stderr] (http--127.0.0.1-8080-1) 	at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:502)
          17:12:05,293 ERROR [stderr] (http--127.0.0.1-8080-1) 	at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:119)
          17:12:05,293 ERROR [stderr] (http--127.0.0.1-8080-1) 	at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:208)
          17:12:05,293 ERROR [stderr] (http--127.0.0.1-8080-1) 	at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:55)
          17:12:05,294 ERROR [stderr] (http--127.0.0.1-8080-1) 	at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:50)
          17:12:05,294 ERROR [stderr] (http--127.0.0.1-8080-1) 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
          17:12:05,295 ERROR [stderr] (http--127.0.0.1-8080-1) 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329)
          17:12:05,295 ERROR [stderr] (http--127.0.0.1-8080-1) 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
          17:12:05,296 ERROR [stderr] (http--127.0.0.1-8080-1) 	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275)
          17:12:05,296 ERROR [stderr] (http--127.0.0.1-8080-1) 	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161)
          17:12:05,296 ERROR [stderr] (http--127.0.0.1-8080-1) 	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:489)
          17:12:05,297 ERROR [stderr] (http--127.0.0.1-8080-1) 	at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:153)
          17:12:05,297 ERROR [stderr] (http--127.0.0.1-8080-1) 	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155)
          17:12:05,297 ERROR [stderr] (http--127.0.0.1-8080-1) 	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
          17:12:05,298 ERROR [stderr] (http--127.0.0.1-8080-1) 	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
          17:12:05,298 ERROR [stderr] (http--127.0.0.1-8080-1) 	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368)
          17:12:05,298 ERROR [stderr] (http--127.0.0.1-8080-1) 	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877)
          17:12:05,299 ERROR [stderr] (http--127.0.0.1-8080-1) 	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:671)
          17:12:05,299 ERROR [stderr] (http--127.0.0.1-8080-1) 	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:930)
          17:12:05,299 ERROR [stderr] (http--127.0.0.1-8080-1) 	at java.lang.Thread.run(Thread.java:680)
          17:12:05,300 ERROR [stderr] (http--127.0.0.1-8080-1) Caused by: org.infinispan.CacheException: Unable to load component metadata!
          17:12:05,300 ERROR [stderr] (http--127.0.0.1-8080-1) 	at org.infinispan.factories.components.ComponentMetadataRepo.initialize(ComponentMetadataRepo.java:131)
          17:12:05,301 ERROR [stderr] (http--127.0.0.1-8080-1) 	at org.infinispan.factories.GlobalComponentRegistry.<init>(GlobalComponentRegistry.java:103)
          17:12:05,301 ERROR [stderr] (http--127.0.0.1-8080-1) 	at org.infinispan.manager.DefaultCacheManager.<init>(DefaultCacheManager.java:299)
          17:12:05,301 ERROR [stderr] (http--127.0.0.1-8080-1) 	at org.infinispan.manager.DefaultCacheManager.<init>(DefaultCacheManager.java:173)
          17:12:05,302 ERROR [stderr] (http--127.0.0.1-8080-1) 	at org.modeshape.jcr.RepositoryConfiguration.createCacheContainer(RepositoryConfiguration.java:1479)
          17:12:05,302 ERROR [stderr] (http--127.0.0.1-8080-1) 	at org.modeshape.jcr.RepositoryConfiguration.getCacheContainer(RepositoryConfiguration.java:1455)
          17:12:05,302 ERROR [stderr] (http--127.0.0.1-8080-1) 	at org.modeshape.jcr.JcrRepository$RunningState.<init>(JcrRepository.java:974)
          17:12:05,303 ERROR [stderr] (http--127.0.0.1-8080-1) 	at org.modeshape.jcr.JcrRepository$RunningState.<init>(JcrRepository.java:901)
          17:12:05,303 ERROR [stderr] (http--127.0.0.1-8080-1) 	at org.modeshape.jcr.JcrRepository.doStart(JcrRepository.java:337)
          17:12:05,303 ERROR [stderr] (http--127.0.0.1-8080-1) 	at org.modeshape.jcr.JcrRepository.login(JcrRepository.java:564)
          17:12:05,304 ERROR [stderr] (http--127.0.0.1-8080-1) 	... 34 more
          17:12:05,304 ERROR [stderr] (http--127.0.0.1-8080-1) Caused by: java.lang.NullPointerException
          17:12:05,304 ERROR [stderr] (http--127.0.0.1-8080-1) 	at org.infinispan.factories.components.ComponentMetadataRepo.readMetadata(ComponentMetadataRepo.java:53)
          17:12:05,305 ERROR [stderr] (http--127.0.0.1-8080-1) 	at org.infinispan.factories.components.ComponentMetadataRepo.initialize(ComponentMetadataRepo.java:129)
          17:12:05,305 ERROR [stderr] (http--127.0.0.1-8080-1) 	... 43 more
          
          Show
          Randall Hauch
          added a comment - This is critical - without this functionality, ModeShape tries to create its own CacheManager (aka, CacheContainer), and this of course fails in AS7 when the repository is started (by accessing the RESTful service app). Here's the log, where the first message shows the "modeshape-rest.war" was successfully deployed, and the remainder is the error after an HTTP GET is sent to http://localhost:8080/modeshape-rest/ : 17:12:00,054 INFO [org.jboss.as.server] (DeploymentScanner-threads - 2) JBAS018559: Deployed "modeshape- rest .war" 17:12:05,230 SEVERE [org.modeshape.jcr.JcrRepositoryFactory] (http--127.0.0.1-8080-1) The 'sample' repository in the ModeShape engine in JNDI at 'jcr/local' is not running or has been shutdown 17:12:05,286 ERROR [stderr] (http--127.0.0.1-8080-1) javax.jcr.RepositoryException: Error while starting 'sample' repository: Unable to load component metadata! 17:12:05,287 ERROR [stderr] (http--127.0.0.1-8080-1) at org.modeshape.jcr.JcrRepository.login(JcrRepository.java:566) 17:12:05,287 ERROR [stderr] (http--127.0.0.1-8080-1) at org.modeshape.jcr.JcrRepository.login(JcrRepository.java:138) 17:12:05,288 ERROR [stderr] (http--127.0.0.1-8080-1) at org.modeshape.web.jcr.RepositoryManager.getSession(RepositoryManager.java:140) 17:12:05,288 ERROR [stderr] (http--127.0.0.1-8080-1) at org.modeshape.web.jcr. rest .AbstractHandler.getSession(AbstractHandler.java:39) 17:12:05,288 ERROR [stderr] (http--127.0.0.1-8080-1) at org.modeshape.web.jcr. rest .ServerHandler.getRepositories(ServerHandler.java:57) 17:12:05,289 ERROR [stderr] (http--127.0.0.1-8080-1) at org.modeshape.web.jcr. rest .JcrResources.getRepositories(JcrResources.java:169) 17:12:05,289 ERROR [stderr] (http--127.0.0.1-8080-1) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 17:12:05,289 ERROR [stderr] (http--127.0.0.1-8080-1) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 17:12:05,290 ERROR [stderr] (http--127.0.0.1-8080-1) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 17:12:05,290 ERROR [stderr] (http--127.0.0.1-8080-1) at java.lang.reflect.Method.invoke(Method.java:597) 17:12:05,290 ERROR [stderr] (http--127.0.0.1-8080-1) at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:155) 17:12:05,291 ERROR [stderr] (http--127.0.0.1-8080-1) at org.jboss.resteasy.core.ResourceMethod.invokeOnTarget(ResourceMethod.java:257) 17:12:05,291 ERROR [stderr] (http--127.0.0.1-8080-1) at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:222) 17:12:05,291 ERROR [stderr] (http--127.0.0.1-8080-1) at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:211) 17:12:05,292 ERROR [stderr] (http--127.0.0.1-8080-1) at org.jboss.resteasy.core.SynchronousDispatcher.getResponse(SynchronousDispatcher.java:525) 17:12:05,292 ERROR [stderr] (http--127.0.0.1-8080-1) at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:502) 17:12:05,293 ERROR [stderr] (http--127.0.0.1-8080-1) at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:119) 17:12:05,293 ERROR [stderr] (http--127.0.0.1-8080-1) at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:208) 17:12:05,293 ERROR [stderr] (http--127.0.0.1-8080-1) at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:55) 17:12:05,294 ERROR [stderr] (http--127.0.0.1-8080-1) at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:50) 17:12:05,294 ERROR [stderr] (http--127.0.0.1-8080-1) at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) 17:12:05,295 ERROR [stderr] (http--127.0.0.1-8080-1) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329) 17:12:05,295 ERROR [stderr] (http--127.0.0.1-8080-1) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248) 17:12:05,296 ERROR [stderr] (http--127.0.0.1-8080-1) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275) 17:12:05,296 ERROR [stderr] (http--127.0.0.1-8080-1) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161) 17:12:05,296 ERROR [stderr] (http--127.0.0.1-8080-1) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:489) 17:12:05,297 ERROR [stderr] (http--127.0.0.1-8080-1) at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:153) 17:12:05,297 ERROR [stderr] (http--127.0.0.1-8080-1) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155) 17:12:05,297 ERROR [stderr] (http--127.0.0.1-8080-1) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 17:12:05,298 ERROR [stderr] (http--127.0.0.1-8080-1) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 17:12:05,298 ERROR [stderr] (http--127.0.0.1-8080-1) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368) 17:12:05,298 ERROR [stderr] (http--127.0.0.1-8080-1) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877) 17:12:05,299 ERROR [stderr] (http--127.0.0.1-8080-1) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:671) 17:12:05,299 ERROR [stderr] (http--127.0.0.1-8080-1) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:930) 17:12:05,299 ERROR [stderr] (http--127.0.0.1-8080-1) at java.lang. Thread .run( Thread .java:680) 17:12:05,300 ERROR [stderr] (http--127.0.0.1-8080-1) Caused by: org.infinispan.CacheException: Unable to load component metadata! 17:12:05,300 ERROR [stderr] (http--127.0.0.1-8080-1) at org.infinispan.factories.components.ComponentMetadataRepo.initialize(ComponentMetadataRepo.java:131) 17:12:05,301 ERROR [stderr] (http--127.0.0.1-8080-1) at org.infinispan.factories.GlobalComponentRegistry.<init>(GlobalComponentRegistry.java:103) 17:12:05,301 ERROR [stderr] (http--127.0.0.1-8080-1) at org.infinispan.manager.DefaultCacheManager.<init>(DefaultCacheManager.java:299) 17:12:05,301 ERROR [stderr] (http--127.0.0.1-8080-1) at org.infinispan.manager.DefaultCacheManager.<init>(DefaultCacheManager.java:173) 17:12:05,302 ERROR [stderr] (http--127.0.0.1-8080-1) at org.modeshape.jcr.RepositoryConfiguration.createCacheContainer(RepositoryConfiguration.java:1479) 17:12:05,302 ERROR [stderr] (http--127.0.0.1-8080-1) at org.modeshape.jcr.RepositoryConfiguration.getCacheContainer(RepositoryConfiguration.java:1455) 17:12:05,302 ERROR [stderr] (http--127.0.0.1-8080-1) at org.modeshape.jcr.JcrRepository$RunningState.<init>(JcrRepository.java:974) 17:12:05,303 ERROR [stderr] (http--127.0.0.1-8080-1) at org.modeshape.jcr.JcrRepository$RunningState.<init>(JcrRepository.java:901) 17:12:05,303 ERROR [stderr] (http--127.0.0.1-8080-1) at org.modeshape.jcr.JcrRepository.doStart(JcrRepository.java:337) 17:12:05,303 ERROR [stderr] (http--127.0.0.1-8080-1) at org.modeshape.jcr.JcrRepository.login(JcrRepository.java:564) 17:12:05,304 ERROR [stderr] (http--127.0.0.1-8080-1) ... 34 more 17:12:05,304 ERROR [stderr] (http--127.0.0.1-8080-1) Caused by: java.lang.NullPointerException 17:12:05,304 ERROR [stderr] (http--127.0.0.1-8080-1) at org.infinispan.factories.components.ComponentMetadataRepo.readMetadata(ComponentMetadataRepo.java:53) 17:12:05,305 ERROR [stderr] (http--127.0.0.1-8080-1) at org.infinispan.factories.components.ComponentMetadataRepo.initialize(ComponentMetadataRepo.java:129) 17:12:05,305 ERROR [stderr] (http--127.0.0.1-8080-1) ... 43 more
          Hide
          Randall Hauch
          added a comment -

          Redesigned the XML schema for the ModeShape subsystem, incorporating all of the features that we'll want to have included in the configuration. Also changed significantly how the XML elements and attributes are processed and written, and separated them from the AttibuteDefinitions used in the model (which are now used to parse the literals into the model values and marshal the model values into XML). However, as with the status before these changes, none of the operations for the subsystem are properly implemented. Finally, a number of additional tests were added to more thoroughly test the subsystem.

          Much of this change was patterned after the Infinispan subsystem.

          The first pull request is still incomplete and was created for review/discussion purposes only.

          Show
          Randall Hauch
          added a comment - Redesigned the XML schema for the ModeShape subsystem, incorporating all of the features that we'll want to have included in the configuration. Also changed significantly how the XML elements and attributes are processed and written, and separated them from the AttibuteDefinitions used in the model (which are now used to parse the literals into the model values and marshal the model values into XML). However, as with the status before these changes, none of the operations for the subsystem are properly implemented. Finally, a number of additional tests were added to more thoroughly test the subsystem. Much of this change was patterned after the Infinispan subsystem. The first pull request is still incomplete and was created for review/discussion purposes only.
          Hide
          Randall Hauch
          added a comment -

          Redesigned the XML schema for the ModeShape subsystem, incorporating all of the features that we'll want to have included in the configuration. Also changed significantly how the XML elements and attributes are processed and written, and separated them from the AttibuteDefinitions used in the model (which are now used to parse the XML literals into the model values and marshal the model values into XML). This new design was patterned after Infinispan's subsystem and relies more upon code provided by DMR and AS7.

          There are operations for adding and removing sequencers, index stores and binary stores; other operations will be added in later commits.

          Finally, a number of additional tests were added to more thoroughly test the subsystem and various configurations, including reading and writing the XML configurations and comparing to expected JSON configurations.

          Much of this change was patterned after the Infinispan subsystem.

          Show
          Randall Hauch
          added a comment - Redesigned the XML schema for the ModeShape subsystem, incorporating all of the features that we'll want to have included in the configuration. Also changed significantly how the XML elements and attributes are processed and written, and separated them from the AttibuteDefinitions used in the model (which are now used to parse the XML literals into the model values and marshal the model values into XML). This new design was patterned after Infinispan's subsystem and relies more upon code provided by DMR and AS7. There are operations for adding and removing sequencers, index stores and binary stores; other operations will be added in later commits. Finally, a number of additional tests were added to more thoroughly test the subsystem and various configurations, including reading and writing the XML configurations and comparing to expected JSON configurations. Much of this change was patterned after the Infinispan subsystem.
          Hide
          Randall Hauch
          added a comment -

          Reopening due to issues with the repositories not being deployed unless directly used, making it impossible for the engine to know about repositories that have not yet been used.

          Show
          Randall Hauch
          added a comment - Reopening due to issues with the repositories not being deployed unless directly used, making it impossible for the engine to know about repositories that have not yet been used.
          Hide
          Randall Hauch
          added a comment -

          Completed the ModeShape subsystem for AS7, and made several other corrections.

          Show
          Randall Hauch
          added a comment - Completed the ModeShape subsystem for AS7, and made several other corrections.
          Hide
          Randall Hauch
          added a comment -

          Note that the second pull-request adds the 'org.hibernate.search.engine' module and the 'org.apache.lucene' module. The Lucene module has no dependencies and contains only the Lucene core and regex libraries. The Hibernate Search module is dependent upon the 'org.apache.lucene' module and several other existing AS7 modules, but because it uses a different version of the Jackson ASL libraries, they're embedded within the Hibernate Search module.

          These modules may cause problems when unzipping the ModeShape AS7 kit into an AS7 installation that already has modules with these identifiers. It is unclear what should be done in this case; in the meantime, we're creating these modules and users with existing Hibernate Search and Lucene modules can simply be more careful when unzipping.

          Show
          Randall Hauch
          added a comment - Note that the second pull-request adds the 'org.hibernate.search.engine' module and the 'org.apache.lucene' module. The Lucene module has no dependencies and contains only the Lucene core and regex libraries. The Hibernate Search module is dependent upon the 'org.apache.lucene' module and several other existing AS7 modules, but because it uses a different version of the Jackson ASL libraries, they're embedded within the Hibernate Search module. These modules may cause problems when unzipping the ModeShape AS7 kit into an AS7 installation that already has modules with these identifiers. It is unclear what should be done in this case; in the meantime, we're creating these modules and users with existing Hibernate Search and Lucene modules can simply be more careful when unzipping.
          Hide
          Ted Jones
          added a comment -

          While this approach may ultimately be problematic, it seems like the only option. I can imagine this being a common issue for other modules deployed to AS 7.

          Show
          Ted Jones
          added a comment - While this approach may ultimately be problematic, it seems like the only option. I can imagine this being a common issue for other modules deployed to AS 7.
          Hide
          Randall Hauch
          added a comment -

          Merged into the 'master' branch.

          Show
          Randall Hauch
          added a comment - Merged into the 'master' branch.
          Hide
          Randall Hauch
          added a comment -

          Reopening: the subsystem is not correctly serializing the index storage options, and the operations are not working as expected when using CLI.

          Show
          Randall Hauch
          added a comment - Reopening: the subsystem is not correctly serializing the index storage options, and the operations are not working as expected when using CLI.
          Hide
          Randall Hauch
          added a comment - - edited

          The ModeShape subsystem is now working pretty well, and can be configured via the 'standalone.xml' configuration file (the kit includes a 'standalone-modeshape.xml' file with a sample repository already configured) and/or configured and managed via the AS7 Command Line Interface (CLI) tool.

          The latter required adding and registering OperationStepHandler implementations (e.g., RepositoryWriteAttributeHandler, SequencerWriteAttributeHandler, IndexStorageWriteAttributeHandler, and BinaryStorageWriteAttributeHandler) to make the model node attributes for the services be writable. Many of the attributes for the repository and sequencer services do not require restart, since they automatically and immediately update the configuration for the (running) repository. An AbstractRepositoryConfigurationWriteAttributeHandler class was created to centralize all this logic, and relies upon a new MappedAttributeDefinition interface was defined to supplement some of the attribute definitions with the path within the repository configuration's JSON document, allowing the abstract handler to generically update the repository configuration for any such attribute definition.

          The kit installs several AS7 modules: several for ModeShape (as before this change), one for the Hibernate Search engine, and one for Lucene. This commit changes the HSearch and Lucene modules to use specific slots (other than "main") so that if the Hibernate Search team (or anyone else) produces more 'standard' modules, our modules will not interfere. (I worked with Sanne Grinovero and Scott Marlow on the module IDs, so technically if they define modules with the same IDs but with 'master', our slots will merge into modules.)

          Additionally, prior to this commit there were a 'remove-*-binary-storage' operation for each 'add-*-binary-storage' operation, and a 'remove-*-index-storage' operation for each 'add-*-index-storage' operation. Now, the 'add-*' operations still exist, but there is only one 'remove-index-storage' operation that handles removing all index storage types, and one 'remove-binary-storage' operation that handles removing all binary storage types. This makes configuring the index and binary storage options much easier.

          The resource filtering specified in the 'deploy/jbossas/pom.xml' was incorrect and has not been used since the AS7 kit was first created. The assembly now does the filtering, so this section in the POM is no longer needed.

          Show
          Randall Hauch
          added a comment - - edited The ModeShape subsystem is now working pretty well, and can be configured via the 'standalone.xml' configuration file (the kit includes a 'standalone-modeshape.xml' file with a sample repository already configured) and/or configured and managed via the AS7 Command Line Interface (CLI) tool. The latter required adding and registering OperationStepHandler implementations (e.g., RepositoryWriteAttributeHandler , SequencerWriteAttributeHandler , IndexStorageWriteAttributeHandler , and BinaryStorageWriteAttributeHandler ) to make the model node attributes for the services be writable. Many of the attributes for the repository and sequencer services do not require restart, since they automatically and immediately update the configuration for the (running) repository. An AbstractRepositoryConfigurationWriteAttributeHandler class was created to centralize all this logic, and relies upon a new MappedAttributeDefinition interface was defined to supplement some of the attribute definitions with the path within the repository configuration's JSON document, allowing the abstract handler to generically update the repository configuration for any such attribute definition. The kit installs several AS7 modules: several for ModeShape (as before this change), one for the Hibernate Search engine, and one for Lucene. This commit changes the HSearch and Lucene modules to use specific slots (other than "main") so that if the Hibernate Search team (or anyone else) produces more 'standard' modules, our modules will not interfere. (I worked with Sanne Grinovero and Scott Marlow on the module IDs, so technically if they define modules with the same IDs but with 'master', our slots will merge into modules.) Additionally, prior to this commit there were a ' remove-*-binary-storage ' operation for each ' add-*-binary-storage ' operation, and a ' remove-*-index-storage ' operation for each ' add-*-index-storage ' operation. Now, the ' add-* ' operations still exist, but there is only one ' remove-index-storage ' operation that handles removing all index storage types, and one ' remove-binary-storage ' operation that handles removing all binary storage types. This makes configuring the index and binary storage options much easier. The resource filtering specified in the ' deploy/jbossas/pom.xml ' was incorrect and has not been used since the AS7 kit was first created. The assembly now does the filtering, so this section in the POM is no longer needed.
          Hide
          Randall Hauch
          added a comment -

          Merged into the 'master' branch.

          Show
          Randall Hauch
          added a comment - Merged into the 'master' branch.

            People

            • Assignee:
              Randall Hauch
              Reporter:
              Randall Hauch
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: