MethodInvokingFactoryBean使用配置

本文深入探讨了如何在Spring框架中集成并配置Hessian服务,通过使用注解配置的方式实现了服务的自动注册,并详细介绍了相关Bean的定义与作用。
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
	xsi:schemaLocation="http://www.springframework.org/schema/beans
           http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
           http://www.springframework.org/schema/context
           http://www.springframework.org/schema/context/spring-context-2.5.xsd">
	<!-- auto register Processor -->
	<context:annotation-config />
	<!--
	<bean id="deliveryApplicationContext"
		class="com.sdo.ewallet.emall.sales.website.hessian.DeliveryApplicationContext" />
	-->
	<bean id="hessianServiceManager"
		class="com.sdo.ewallet.comm.hessian.HessianServiceManager" />


	<bean id="deliveryHessianServiceRegister"
		class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
		<property name="targetObject">
			<ref bean="hessianServiceManager" />
		</property>
		<property name="targetMethod">
			<value>registerServices</value>
		</property>
		<property name="arguments">
			<list>
				<list>
					<ref bean="sales2NetbarDeliveryService" />
					<ref bean="syncNetbarInfo2Emall" />
					<ref bean="hessianShopService" />
				</list>
			</list>
		</property>
	</bean>

</beans>

### 配置 SSL Trust Store 的方法 SSL Trust Store(信任库)用于存储受信任的 CA(证书颁发机构)证书,确保在 SSL/TLS 握手过程中能够验证对方证书的合法性。配置 SSL Trust Store 的方式取决于使用的平台和框架,例如 Java、Spring、Nginx、Apache 等。 在 Java 环境中,SSL Trust Store 通常通过系统属性 `javax.net.ssl.trustStore` 和 `javax.net.ssl.trustStorePassword` 进行配置。应用程序启动时需要指定信任库的路径和密码,以确保 JVM 能够加载受信任的根证书和中间证书[^3]。以下是一个基于 Spring 框架的配置示例: ```xml <bean id="trustStore" class="org.springframework.beans.factory.config.MethodInvokingFactoryBean"> <property name="targetObject" value="#{@systemProperties}" /> <property name="targetMethod" value="putAll" /> <property name="arguments"> <props> <prop key="javax.net.ssl.trustStore">/path/to/truststore.jks</prop> <prop key="javax.net.ssl.trustStorePassword">password</prop> </props> </property> </bean> ``` 在 Java 客户端或服务端代码中,也可以通过编程方式加载 Trust Store: ```java System.setProperty("javax.net.ssl.trustStore", "/path/to/truststore.jks"); System.setProperty("javax.net.ssl.trustStorePassword", "password"); ``` 如果使用的是 PEM 格式的 CA 证书,可以通过 `keytool` 工具将其导入 JKS 格式的 Trust Store: ```bash keytool -import -alias myCA -file ca.crt -keystore truststore.jks ``` 在双向 SSL 认证场景中,除了配置 Trust Store,还需配置 Key Store,用于保存本地私钥和证书。服务端和客户端各自需要维护自己的 Key Store 和 Trust Store,以确保双方能够相互验证身份[^1]。 对于非 Java 环境,如 Nginx 或 Apache HTTP Server,通常通过配置文件指定信任的 CA 证书路径。例如在 Nginx 中: ```nginx server { listen 443 ssl; ssl_certificate /path/to/server.crt; ssl_certificate_key /path/to/server.key; ssl_client_certificate /path/to/ca.crt; ssl_verify_client on; } ``` 其中 `ssl_client_certificate` 指定了用于验证客户端证书的 CA 证书路径,`ssl_verify_client on` 表示强制要求客户端提供证书进行身份验证。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值