配置tomcat jndi

来源:互联网 发布:安卓linux模拟器 编辑:程序博客网 时间:2024/05/23 19:28
#!/bin/bashjndi_name="sgccjndi"DATABASE_TYPE_MYSQL="MYSQL"DATABASE_TYPE_POSTGRESQL="POSTGRESQL"DATABASE_TYPE_ORACLE="ORACLE"DATABASE_TYPE_DAMENG="DAMENG"if [ -e "/var/config/PRIVATE__DATABASE_HOST" ] then    read -r database_host < /var/config/PRIVATE__DATABASE_HOST    if [ $database_host ]    then        read -r database_type < /var/config/PRIVATE__DATABASE_TYPE        read -r database_name < /var/config/PRIVATE__DATABASE_NAME        read -r database_user < /var/config/PRIVATE__DATABASE_USER        read -r database_pswd < /var/config/PRIVATE__DATABASE_PSWD        database_driver_name_mysql_single="com.mysql.jdbc.Driver"        database_driver_name_mysql_cluster="com.mysql.jdbc.ReplicationDriver"        database_driver_name_postgresql="org.postgresql.Driver"        database_driver_name_oracle="oracle.jdbc.OracleDriver"        database_driver_name_dameng="dm.jdbc.driver.DmDriver"        tomcat_server_xml_path="/usr/local/tomcat/conf/server.xml"        tomcat_context_xml_path="/usr/local/tomcat/conf/context.xml"        OLD_IFS="$IFS"        IFS=","        host_arr=($database_host)        IFS="$OLD_IFS"                 if [ $database_type = $DATABASE_TYPE_MYSQL ]        then            read -r database_port < /var/config/PRIVATE__DATABASE_PORT            if [ ${#host_arr[@]} -eq 1 ]            then                database_driver_name=$database_driver_name_mysql_single                database_url=jdbc:mysql://$host_arr:$database_port/$database_name            elif [ ${#host_arr[@]} -gt 1 ]            then                database_driver_name=$database_driver_name_mysql_cluster                database_url="jdbc:mysql:replication://"                for s in ${host_arr[@]}                    do database_url=${database_url}${s}:${database_port},                done                database_url=${database_url%,}                database_url=${database_url}/$database_name            fi        elif [ $database_type = $DATABASE_TYPE_POSTGRESQL ]        then            read -r database_port < /var/config/PRIVATE__DATABASE_PROXY_PORT            database_driver_name=$database_driver_name_postgresql            database_url="jdbc:postgresql://${host_arr[0]}:$database_port/$database_name"                 elif [ $database_type = $DATABASE_TYPE_DAMENG ]        then            read -r database_port < /var/config/PRIVATE__DATABASE_PORT            database_driver_name=$database_driver_name_dameng            database_url="jdbc:dm://${host_arr[0]}:$database_port/$database_name?ignoreCase=true"        fi        resource_xml="\ \ \ \ <Resource name=\"$jndi_name\" auth=\"Container\" type=\"javax.sql.DataSource\" username=\"$database_user\" \password=\"$database_pswd\" url=\"$database_url\" driverClassName=\"$database_driver_name\" initialSize=\"5\" maxWait=\"5000\" \maxActive=\"120\" maxIdle=\"5\" validationQuery=\"select 1\" poolPreparedStatements=\"true\"/>"             if [ $database_type = $DATABASE_TYPE_ORACLE ]        then            read -r database_port < /var/config/PRIVATE__DATABASE_PORT            database_driver_name=$database_driver_name_oracle            database_url="jdbc:oracle:thin:@${host_arr[0]}:$database_port:$database_name"            resource_xml="\ \ \ \ <Resource name=\"$jndi_name\" auth=\"Container\" type=\"javax.sql.DataSource\" username=\"$database_user\" \password=\"$database_pswd\" url=\"$database_url\" driverClassName=\"$database_driver_name\" initialSize=\"5\" maxWait=\"5000\" maxActive=\"120\" \maxIdle=\"5\" validationQuery=\"select 1 from dual\" poolPreparedStatements=\"true\"/>"        fi                 resource_link_xml="\ \ \ \ <ResourceLink name=\"$jndi_name\" global=\"$jndi_name\" type=\"javax.sql.DataSource\"/>"        modifyServerXml(){            sed -i '/<Resource\ name="'$jndi_name'"/d' $tomcat_server_xml_path            sed -i "/<\/GlobalNamingResources>/i$resource_xml" $tomcat_server_xml_path            echo server.xml changed        }        modifyContextXml(){            sed -i '/<ResourceLink\ name="'$jndi_name'"/d' $tomcat_context_xml_path            sed -i "/<\/Context>/i$resource_link_xml" $tomcat_context_xml_path            echo context.xml changed        }        modifyServerXml        modifyContextXml        ps -fwwu root|grep Bootstrap | grep tomcat|grep -v grep | grep -v PID | awk '{print $2}'|xargs kill -9        sleep 15        /usr/local/tomcat/bin/startup.sh    fifi
0 0
原创粉丝点击