application-context_knuh.xml 8.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xmlns:task="http://www.springframework.org/schema/task"
  5. xmlns:context="http://www.springframework.org/schema/context"
  6. xmlns:aop="http://www.springframework.org/schema/aop"
  7. xmlns:tx="http://www.springframework.org/schema/tx"
  8. xmlns:util="http://www.springframework.org/schema/util"
  9. xsi:schemaLocation="http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd
  10. http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task.xsd
  11. http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
  12. http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd
  13. http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd
  14. http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
  15. <context:component-scan base-package="com.dbs.mcare.mns" />
  16. <!-- ========================================================================
  17. 환경설정
  18. ========================================================================-->
  19. <util:properties id="mcareConfig" location="file:./config/config_knuh.xml" />
  20. <!-- 스케쥴러 설정 -->
  21. <task:annotation-driven executor="mnsExecutor" scheduler="mnsScheduler"/>
  22. <task:executor id="mnsExecutor" pool-size="5"/>
  23. <task:scheduler id="mnsScheduler" pool-size="30"/>
  24. <!-- Relay 질의문 -->
  25. <util:properties id="relayQueryMappingConfig" location="classpath:config/query/relay_sql.xml" />
  26. <bean id="relayQueryMappingProperties" class="com.dbs.mcare.mns.common.util.QueryProperties">
  27. <property name="properties" ref="relayQueryMappingConfig"/>
  28. </bean>
  29. <!-- Push 질의문 -->
  30. <util:properties id="pushQueryMappingConfig" location="classpath:config/query/push_sql.xml" />
  31. <bean id="pushQueryMappingProperties" class="com.dbs.mcare.mns.common.util.QueryProperties">
  32. <property name="properties" ref="pushQueryMappingConfig"/>
  33. </bean>
  34. <!-- ========================================================================
  35. M-Care Message Server 접근용
  36. ========================================================================-->
  37. <tx:annotation-driven transaction-manager="txManagerMcareMns"/>
  38. <!-- data source -->
  39. <bean id="mnsDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
  40. <property name="driverClassName" value="#{mcareConfig['mcare.mns.db.driverClassName']}" />
  41. <property name="url" value="#{mcareConfig['mcare.mns.db.url']}" />
  42. <property name="username" value="#{mcareConfig['mcare.mns.db.username']}" />
  43. <property name="password" value="#{mcareConfig['mcare.mns.db.password']}" />
  44. <property name="initialSize" value="5" />
  45. <property name="maxActive" value="5" />
  46. <property name="maxIdle" value="2" />
  47. <property name="validationQuery" value="SELECT 1 FROM DUAL" />
  48. <property name="testWhileIdle" value="true" />
  49. <property name="timeBetweenEvictionRunsMillis" value="3000" />
  50. </bean>
  51. <!-- MessageServer에 insert시 트랜잭션 처리 필요함 -->
  52. <bean id="txManagerMcareMns" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
  53. <property name="dataSource" ref="mnsDataSource" />
  54. </bean>
  55. <bean id="mnsNamedParameterJdbcTemplate" class="org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate">
  56. <constructor-arg>
  57. <ref bean="mnsDataSource" />
  58. </constructor-arg>
  59. </bean>
  60. <!-- ========================================================================
  61. M-Care Message 중간 테이블 접근용
  62. ========================================================================-->
  63. <!-- 경북대병원 본원 -->
  64. <bean id="dataSource031" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
  65. <property name="driverClassName" value="#{mcareConfig['mcare.031.db.driverClassName']}" />
  66. <property name="url" value="#{mcareConfig['mcare.031.db.url']}" />
  67. <property name="username" value="#{mcareConfig['mcare.031.db.username']}" />
  68. <property name="password" value="#{mcareConfig['mcare.031.db.password']}" />
  69. <property name="initialSize" value="5" />
  70. <property name="maxActive" value="5" />
  71. <property name="maxIdle" value="2" />
  72. <property name="validationQuery" value="SELECT 1 FROM DUAL" />
  73. <property name="testWhileIdle" value="true" />
  74. <property name="timeBetweenEvictionRunsMillis" value="3000" />
  75. </bean>
  76. <bean id="txManagerMcare031" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
  77. <property name="dataSource" ref="dataSource031" />
  78. </bean>
  79. <bean id="namedParameterJdbcTemplate031" class="org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate">
  80. <constructor-arg><ref bean="dataSource031" /></constructor-arg>
  81. </bean>
  82. <!-- 경북대학병원 칠곡병원 -->
  83. <bean id="dataSource032" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
  84. <property name="driverClassName" value="#{mcareConfig['mcare.032.db.driverClassName']}" />
  85. <property name="url" value="#{mcareConfig['mcare.032.db.url']}" />
  86. <property name="username" value="#{mcareConfig['mcare.032.db.username']}" />
  87. <property name="password" value="#{mcareConfig['mcare.032.db.password']}" />
  88. <property name="initialSize" value="5" />
  89. <property name="maxActive" value="5" />
  90. <property name="maxIdle" value="2" />
  91. <property name="validationQuery" value="SELECT 1 FROM DUAL" />
  92. <property name="testWhileIdle" value="true" />
  93. <property name="timeBetweenEvictionRunsMillis" value="3000" />
  94. </bean>
  95. <bean id="txManagerMcare032" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
  96. <property name="dataSource" ref="dataSource032" />
  97. </bean>
  98. <bean id="namedParameterJdbcTemplate032" class="org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate">
  99. <constructor-arg><ref bean="dataSource032" /></constructor-arg>
  100. </bean>
  101. <!-- Repository에서 사용될 DB정보 맵으로 구성 -->
  102. <!-- key:병원키, value:NamedParameterJdbcTemplate 빈 -->
  103. <bean id="relayRepository" class="com.dbs.mcare.mns.relay.repository.RelayRepository">
  104. <property name="infNamedParameterJdbcTemplateMap">
  105. <map>
  106. <entry key="#{mcareConfig['mcare.hospital.1.key']}" value-ref="namedParameterJdbcTemplate031" />
  107. <entry key="#{mcareConfig['mcare.hospital.2.key']}" value-ref="namedParameterJdbcTemplate032" />
  108. </map>
  109. </property>
  110. </bean>
  111. <!-- ################################################################################ -->
  112. <!-- GCM / APNs 관리 -->
  113. <!-- ################################################################################ -->
  114. <bean id="gcmSender" class="com.dbs.mcare.mns.push.sender.gcm.GCMSender">
  115. <property name="apikey" value="#{mcareConfig['mcare.gcm.apikey']}" />
  116. </bean>
  117. <bean id="apnsSender" class="com.dbs.mcare.mns.push.sender.apns.APNsSender">
  118. <property name="keystore">
  119. <bean class="org.springframework.core.io.FileSystemResource">
  120. <constructor-arg index="0" value="#{mcareConfig['mcare.apns.appstore.file.resource']}" />
  121. </bean>
  122. </property>
  123. <property name="password" value="#{mcareConfig['mcare.apns.appstore.sender.password']}" />
  124. <property name="production" value="#{mcareConfig['mcare.apns.appstore.sender.production']}" />
  125. </bean>
  126. <bean id="inhouseApnsSender" class="com.dbs.mcare.mns.push.sender.apns.APNsSender">
  127. <property name="keystore">
  128. <bean class="org.springframework.core.io.FileSystemResource">
  129. <constructor-arg index="0" value="#{mcareConfig['mcare.apns.inhouse.file.resource']}" />
  130. </bean>
  131. </property>
  132. <property name="password" value="#{mcareConfig['mcare.apns.inhouse.sender.password']}" />
  133. <property name="production" value="#{mcareConfig['mcare.apns.inhouse.sender.production']}" />
  134. </bean>
  135. <bean id="developApnsSender" class="com.dbs.mcare.mns.push.sender.apns.APNsSender">
  136. <property name="keystore">
  137. <bean class="org.springframework.core.io.FileSystemResource">
  138. <constructor-arg index="0" value="#{mcareConfig['mcare.apns.dev.file.resource']}" />
  139. </bean>
  140. </property>
  141. <property name="password" value="#{mcareConfig['mcare.apns.dev.sender.password']}" />
  142. <property name="production" value="#{mcareConfig['mcare.apns.dev.sender.production']}" />
  143. </bean>
  144. </beans>