发表于: 2019-10-13 20:58:07
1 850
今天做了什么
配置两台server
将原有的项目复制一份,重命名文件夹

修改Server RMI 配置文件 中RMI服务端口号 SSM为1199 Server 为1299
网上有一个开源的第三方的包可以随机的访问服务。
直接导入封装好的jar包,然后写配置文件就可以了
<!--RMI负载均衡-->
<bean name="rmiClientSetting" class="org.softamis.cluster4spring.rmi.RmiUrlListProxyFactoryBean" abstract="true">
<!-- 是否启动时加载stub -->
<property name="refreshEndpointsOnStartup" value="false" />
<!-- 调用异常时,将重新加载stub -->
<property name="refreshEndpointsOnConnectFailure" value="true" />
<!-- 调用失败时是否切换到其他服务端 -->
<property name="switchEndpointOnFailure" value="true" />
<!-- 追踪拦截器启用 -->
<property name="registerTraceInterceptor" value="true" />
<!-- 缓存stub 继承AbstractRmiShortFormProxyFactoryBean才有-->
<property name="cacheEndpoints" value="true" />
</bean>
<!--数据库操作RMI-->
<bean id="userService"
class="org.softamis.cluster4spring.rmi.RmiUrlListProxyFactoryBean" parent="rmiClientSetting">
<!--调用服务接口-->
<property name="serviceInterface" value="com.fgh.task2.service.UserService"/>
<property name="serviceURLs">
<list>
</list>
</property>
<!-- 调用时选择那个url的策略 -->
<property name="endpointSelectionPolicy">
<bean class="org.softamis.cluster4spring.support.invocation.ShuffleEndpointSelectionPolicy"/>
</property>
</bean>
之前配置两个RMI配置文件,无法做到停止一台server,连接上另一台server

启动jetty
Server 运行

使用maven 一键打包 server端程序
由war包改为jar包

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>1.4</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<filters>
<filter>
<artifact>*:*</artifact>
<excludes>
<exclude>META-INF/*.SF</exclude>
<exclude>META-INF/*.DSA</exclude>
<exclude>META-INF/*.RSA</exclude>
</excludes>
</filter>
</filters>
<transformers>
<transformer
implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>com.fgh.task2.Server.Server</mainClass>
</transformer>
<transformer
implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
<resource>META-INF/spring.handlers</resource>
</transformer>
<transformer
implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
<resource>META-INF/spring.schemas</resource>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
生成jar包

本地测试是 运行成功

收获
遇到的问题
将原来的7个service分离成RMI的Service,客户端编写单元测试, 只有短信API调用出错ac
客户端报错:
但服务端日志打印正常,并且短信能收到.
明天计划
评论