2015-04-16 5 views
0

У нас было два сервера, которые записывались одновременно в один файл JCR (3.8.1.Final). (Что, вероятно, не было хорошей идеей.)Есть ли инструмент восстановления для узлов modeshape, хранящихся в базе данных MSSQL?

Наш modeshape хранит документы PDF в базе данных SQL, возможно, через Infinispan. PDF-файлы находятся в папках одного уровня. После перезагрузки (и выключения 1 сервера) я не вижу в нем некоторых папок, а также файлов PDF.

Что бы вы посоветовали восстановить их, какой-либо инструмент для восстановления? Или какой-нибудь простой инструмент для работы с Modeshape Export (без слишком много Java-кодирования)?

У меня есть определение SQL-данных из JBOSS standalone.xml, поэтому я могу подключиться к базе данных SQL. У меня также есть файл конфигурации репозитория.

Мартин

ответ

0

Наконец я использовал modeshape-JDBC-магазин-пример в качестве базового кода.

https://github.com/ModeShape/modeshape-examples/tree/master/modeshape-jdbc-store-example

А затем модифицирована infinispan-configuration.xml и мой-хранилище-config.json в моей конфигурации.

Также мне пришлось изменить pom.xml, чтобы он мог запускаться как автономное приложение cmd со всеми включенными библиотеками.

 <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-jar-plugin</artifactId> 
      <version>2.4</version> 
      <configuration> 
       <archive> 
        <manifest> 
         <addClasspath>true</addClasspath> 
         <mainClass>org.modeshape.example.jdbcstore.ModeShapeExample</mainClass> 
         <classpathPrefix>libs/</classpathPrefix> 
        </manifest> 
       </archive> 
      </configuration> 
     </plugin> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-dependency-plugin</artifactId> 
      <executions> 
       <execution> 
        <id>copy-dependencies</id> 
        <phase>package</phase> 
        <goals> 
         <goal>copy-dependencies</goal> 
        </goals> 
        <configuration> 
         <outputDirectory>${project.build.directory}/libs/</outputDirectory> 
        </configuration> 
       </execution> 
      </executions> 
     </plugin> 

и я добавить некоторую зависимость, так что мой SQL соединение можно хранить в JNDI:

<dependency> 
     <groupId>com.microsoft.sqlserver</groupId> 
     <artifactId>sqljdbc4</artifactId> 
     <version>4.0</version> 
    </dependency> 
    <dependency> 
     <groupId>commons-dbcp</groupId> 
     <artifactId>commons-dbcp</artifactId> 
     <version>1.4</version> 
    </dependency> 

    <dependency> 
     <groupId>tomcat</groupId> 
     <artifactId>naming-factory</artifactId> 
     <version>5.5.15</version> 
    </dependency> 

    <dependency> 
     <groupId>tomcat</groupId> 
     <artifactId>naming-resources</artifactId> 
     <version>5.5.15</version> 
    </dependency> 

код, который помещает соединение в JNDI:

try { 

     System.setProperty(Context.INITIAL_CONTEXT_FACTORY, "org.apache.naming.java.javaURLContextFactory"); 
     System.setProperty(Context.URL_PKG_PREFIXES, "org.apache.naming"); 
     InitialContext ic = new InitialContext(); 

     ic.createSubcontext("java:"); 
     ic.createSubcontext("java:/jdbc"); 

     final String PROP_DB_NAME = "java:/jdbc/DataDS"; 
     final String PROP_DRIVER = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; 


     final String PROP_CONNECTION_URL = argv[0]; 
     final String PROP_USER = argv[1]; 
     final String PROP_PASWSWORD = argv[2]; 

     // Construct DataSource 
     BasicDataSource dataSource = new BasicDataSource(); 

     dataSource.setDriverClassName(PROP_DRIVER); 
     dataSource.setUsername(PROP_USER); 
     dataSource.setPassword(PROP_PASWSWORD); 
     dataSource.setUrl(PROP_CONNECTION_URL); 
     dataSource.setMaxActive(5); 
     dataSource.setMaxIdle(5); 
     dataSource.setInitialSize(1); 
     dataSource.setValidationQuery("SELECT 1"); 

     ic.bind(PROP_DB_NAME, dataSource); 

     Connection conn = dataSource.getConnection(); 
    } catch (NamingException e1) { 
     // TODO Auto-generated catch block 
     e1.printStackTrace(); 
    } 

 Смежные вопросы

  • Нет связанных вопросов^_^