Primeton EOS Platform 技术验证-安装可选问题

3年前

EOS Platform 7.2中要对产品中的一些特性或者组件进行选择性安装,比如EJB特性,BPS,CAP,SSO组件等。


EOS Platform 7.2中要对产品中的一些特性或者组件进行选择性安装,比如EJB特性,BPS,CAP,SSO组件等。


验证点

  1. EJB特性可选。EJB特性如果不选,在JEE应用服务器上,不用初始化JMS,和加载EJB。
  2. BPS可选。
  3. CAP可选。
  4. SSO可选
  5. Governor可选
  6. Workspace可选


方案思路


利用现有的安装包模块选件框架,分为安装选择,安装执行。

Governor和workspace可选,原来已经支持,不在此赘述,不过对于CAP、BPS是否安装的时候,需要考虑。


安装选择


在安装包的resources\option_comps目录下,通过配置module_info.xml,在安装选择界面上就会出现。


EJB:

<module id="ejb" nameKey="EJB" descKey="OPTION.EJB_SUITE" displaySeq="2" required="false" selected="false">
<component id="ejb" nameKey="EJB" descKey="OPTION.EJB_DEFAULT_DESC" size="0" filesPath="" required="false" selected="false"/>
</module>

CAP:
<module id="cap" nameKey="CAP" descKey="OPTION.CAP_SUITE" displaySeq="4" required="false" selected="false">
<component id="cap" nameKey="CAP" descKey="OPTION.CAP_DEFAULT_DESC" size="60" filesPath="" required="false" selected="false"/>
</module>


安装执行


安装执行主要通过使用deploy.xml来进行配置。


CAP


CAP有SCE和Governor两部分组成,根据前面的选择,生成一个全局变量,比如IS_DEPLOY_CAP,这样就可以在deploy.xml中对SCE进行判断后再部署安装。

由于原来已经能够进行CAP安装,只不过没有把它当作选件来区分而已。


Server部分,修改resources\base_comps\eos\server\deploy.xml如下:


<if>
<equals arg1="${IS_DEPLOY_CAP}" arg2="true"/>
<then>
<unzip src="${INSTALL_ROOT}/resources/option_comps/cap/sce/sce.war" dest="${TEMP_DIR}/${DEFAULT_APP_NAME}" />
</then>
</if>
Governor部分,修改resources\base_comps\eos\governor\deploy.xml:

<if>
<equals arg1="${IS_DEPLOY_CAP}" arg2="true"/>
<then>
<echo message="......unzip ${INSTALL_ROOT}/resources/option_comps/cap/governor/governor.war to ${TEMP_DIR}/governor"/>
<unzip src="${INSTALL_ROOT}/resources/option_comps/cap/governor/governor.war" dest="${TEMP_DIR}/governor"/>
</then>
</if>
 

数据库初始化部分,在resources\option_comps\cap\deploy.xml中:


<deploy>
<if>
<equals arg1="${DB_IS_INIT}" arg2="true"/>
<then>
<echo message="...... init db for cap"/>
<action name="Init CAP Database" classname="com.primeton.installer.platform.action.InitDB" desc="" scale="10">
<parameter name="COMPONENT_NAMES" value="coframe,cap"/>
</action>
</then>
</if>
</deploy>


BPS

跟CAP类同根。


EJB

EJB特性只在Server中含有,修改resources\base_comps\eos\server\deploy.xml


EJB配置

<if>
<equals arg1="${IS_DEPLOY_EJB}" arg2="true"/>
<then>
<unzip src="${TEMP_DIR}/${DEFAULT_APP_NAME}.ear/eos-server-access-ejb.jar" dest="${TEMP_DIR}/${DEFAULT_APP_NAME}.ear/eos-server-access-ejb"/>
<echo message ="......update ${DEFAULT_APP_NAME}.ear/eos-server-access-ejb/META-INF/jboss.xml"/>
<action name="update jboss.xml" classname="com.primeton.install.ext.action.UpdateJbossEJBConfig">
<parameter name="JBOSS_EJB_JAR_XML_PATH" value="${TEMP_DIR}/${DEFAULT_APP_NAME}.ear/eos-server-access-ejb/META-INF/jboss.xml"/>
</action>
<delete dir="${TEMP_DIR}/${DEFAULT_APP_NAME}.ear/eos-server-access-ejb.jar"/>
<zip basedir="${TEMP_DIR}/${DEFAULT_APP_NAME}.ear/eos-server-access-ejb" destfile="${TEMP_DIR}/${DEFAULT_APP_NAME}.ear/eos-server-access-ejb.jar"/>
<delete dir="${TEMP_DIR}/${DEFAULT_APP_NAME}.ear/eos-server-access-ejb"/>
</then>
</if>


JMS创建


<if>
<equals arg1="${IS_DEPLOY_EJB}" arg2="true"/>
<then>
<echo message ="......config jms"/>
<action name="config jms" classname="com.primeton.install.ext.action.CreateJBossJmsQueue">
<parameter name="JBOSS_HOME" value="${AS_JBOSS_HOME}"/>
<parameter name="SERVER_NAME" value="default"/>
<parameter name="QUEUE_NAME" value="${DEFAULT_APP_NAME}/EOS_INVOKE_QUEUE,${DEFAULT_APP_NAME}/EOS_RESULT_QUEUE"/>
<parameter name="QUEUE_JNDI" value="${DEFAULT_APP_NAME}/EOS_INVOKE_QUEUE,${DEFAULT_APP_NAME}/EOS_RESULT_QUEUE"/>
</action>
</then>
</if>


Application.xml配置


<if>
<equals arg1="${IS_DEPLOY_EJB}" arg2="false"/>
<then>
<move file="${TEMP_DIR}/${DEFAULT_APP_NAME}.ear/eos-server-access-ejb.jar"
tofile="${TEMP_DIR}/${DEFAULT_APP_NAME}.ear/${DEFAULT_APP_NAME}.war/WEB-INF/lib/eos-server-access-ejb-7.0.2.0.jar"/>
<action name="remove ejb module" classname="com.primeton.installer.platform.action.RemoveXMLNodeValue">
<parameter name="FILE_PATH" value="${TEMP_DIR}/${DEFAULT_APP_NAME}.ear/META-INF/application.xml"/>
<parameter name="XPATH" value="//module[@id='DefaultEjbModule']"/>
</action>
</then>
</if>



原型验证


描述


根据以上配置,修改相应的deploy.xml和module_info.xml


原型验证结果


选择界面如图:


物理安装结果:


EJB、BPS、CAP、SSO不再存在


结论


EJB特性、BPS、CAP等是可以选择性安装的。

COMMENTS

需要 后方可回复
如果没有账号可以 一个帐号。