2016-09-27 12 views
3

Я попытался запустить Scada-LTS на Tomcat 7 с JDK 1.7 и я получил следующее сообщение об ошибке:Scada-Lts - «Нет DataSource указано» Ошибка

SEVERE: Exception sending context initialized event to listener instance of class com.serotonin.mango.MangoContextListener 
java.lang.IllegalArgumentException: No DataSource specified 
at org.springframework.util.Assert.notNull(Assert.java:115) 
at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:97) 
at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:77) 
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:382) 
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:428) 
at com.serotonin.mango.db.MySQLAccess.newDatabaseCheck(MySQLAccess.java:76) 
at com.serotonin.mango.db.DatabaseAccess.initialize(DatabaseAccess.java:118) 
at com.serotonin.mango.MangoContextListener.databaseInitialize(MangoContextListener.java:391) 
at com.serotonin.mango.MangoContextListener.contextInitialized(MangoContextListener.java:106) 
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:5118) 
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5634) 

ответ

2

Вы должны настроить подключение к базе данных в context.xml (файл конфигурации tomcat7), приведенный ниже.

Вы должны скопировать файлы: "mysql-connector-java-5.1.38-bin.jar", "mysql-connector-java-3.1.8-bin.jar" в каталог "./tomcat7/lib "

пример файла конфигурации context.xml:

<?xml version="1.0" encoding="UTF-8"?> 
<!-- 
    Licensed to the Apache Software Foundation (ASF) under one or more 
    contributor license agreements. See the NOTICE file distributed with 
    this work for additional information regarding copyright ownership. 
    The ASF licenses this file to You under the Apache License, Version 2.0 
    (the "License"); you may not use this file except in compliance with 
    the License. You may obtain a copy of the License at 

     http://www.apache.org/licenses/LICENSE-2.0 

    Unless required by applicable law or agreed to in writing, software 
    distributed under the License is distributed on an "AS IS" BASIS, 
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
    See the License for the specific language governing permissions and 
    limitations under the License. 
--><!-- The contents of this file will be loaded for each web application --><Context> 

    <!-- Default set of monitored resources --> 
    <WatchedResource>WEB-INF/web.xml</WatchedResource> 

    <Resource name="jdbc/scadalts" 
      auth="Container" 
      type="javax.sql.DataSource" 
      factory="org.apache.tomcat.jdbc.pool.DataSourceFactory" 
      testWhileIdle="true" 
      testOnBorrow="true" 
      testOnReturn="false" 
      validationQuery="SELECT 1" 
      validationInterval="30000" 
      timeBetweenEvictionRunsMillis="30000" 
      maxActive="80" 
      minIdle="10" 
      maxWait="10000" 
      initialSize="10" 
      removeAbandonedTimeout="1000" 
      removeAbandoned="true" 
      abandonWhenPercentageFull="75" 
      logAbandoned="true" 
      minEvictableIdleTimeMillis="30000" 
      jmxEnabled="true" 
      jdbcInterceptors="org.apache.tomcat.jdbc.pool.interceptor.ConnectionState; 
                 org.apache.tomcat.jdbc.pool.interceptor.StatementFinalizer; 
                 org.apache.tomcat.jdbc.pool.interceptor.ResetAbandonedTimer; 
                 org.apache.tomcat.jdbc.pool.interceptor.SlowQueryReport(threshold=1500)" 
      username="root" 
      password="root" 
      driverClassName="com.mysql.jdbc.Driver" 
      defaultTransactionIsolation="READ_COMMITTED" 
      url="jdbc:mysql://localhost:3306/scadalts" 
     /> 

    <!-- Uncomment this to disable session persistence across Tomcat restarts --> 
    <!-- 
    <Manager pathname="" /> 
    --> 

    <!-- Uncomment this to enable Comet connection tacking (provides events 
     on session expiration as well as webapp lifecycle) --> 
    <!-- 
    <Valve className="org.apache.catalina.valves.CometConnectionManagerValve" /> 
    --> 

</Context> 

Она должна работать корректно.

В приведенном выше конфигурационном программном обеспечении требуется установленная сервером база данных MySql «scadalts» и корень пользователя с паролем root на localhost.

+0

Конфигурации могут меняться и приспосабливаться к собственной среде. – Grzesiek