发表于: 2018-10-13 22:13:20
2 505
今天完成的事情:(一定要写非常细致的内容,比如说学会了盒子模型,了解了Margin)
复习turscany
https://www.cnblogs.com/wangzhehan/archive/2011/05/26/2059323.html
IBM提出 SOA = BPEL+SCA+SDO
结合代码理解turcany的使用
CORE模块
1.定义一个接口 标注其可远程调用 定义一些方法
@Remotablepublic interface ArticleService extends BaseDaoService {
public Long insert(Article article)throws ServiceException, ServiceDaoException;
2.编写该接口的SCA实现类,
public class ArticleSCAClient implements ArticleService {
private ArticleService articleService;
public ArticleService getArticleService() {
return articleService;
}
@Reference
public void setArticleService(ArticleService articleService) {
this.articleService =articleService;
}
@Override
public Long insert(Article article)throws ServiceException, ServiceDaoException{
return articleService.insert(article);
}
SERVICE模块
1.实现和dao层数据交互实现
public class ArticleServiceImpl extends BaseDaoServiceImpl implements
ArticleService {
private static final Log log = LogFactory.getLog(ArticleServiceImpl.class);
@Override
public Long insert(Article article) throws ServiceException,
ServiceDaoException {
log.info(" insert data : " + article);
if (article == null) {
return null;
}
long currentTimeMillis = System.currentTimeMillis();
article.setCreateAt(currentTimeMillis);
article.setUpdateAt(currentTimeMillis);
Long result = null;
try {
result = (Long) dao.save(article);
} catch (DaoException e) {
log.error(" insert wrong : " + article);
log.error(e);
e.printStackTrace();
throw new ServiceDaoException(e);
}
log.info(" insert data success : " + result);
return result;
}
2.定义composite文件
标注spring配置文件
标注java接口和暴露出的服务名和接口号
<component name="GoldwindAdminComponent">
<implementation.spring location="META-INF/applicationContext-server.xml"/>
</component>
<service name="articleService" promote="GoldwindAdminComponent/articleService">
<interface.java interface="com.ptteng.goldwind.admin.service.ArticleService"/>
<scallop:binding.rmi host="localhost" port="11221" serviceName="ArticleRMIService"/>
</service>
spring配置文件 绑定service接口和相应的实现类
<sca:service name="articleService"
type="com.ptteng.goldwind.admin.service.ArticleService" target="articleService"/>
<bean id="articleService"
class="com.ptteng.goldwind.admin.service.impl.ArticleServiceImpl" parent="baseDaoService">
</bean>
WEB模块
1.composite文件,将service的sca实现类注册和scallop的rmi绑定
<component name="ArticleServiceComponent">
<implementation.java class="com.ptteng.sca.goldwind.admin.client.ArticleSCAClient" />
<reference name="articleService">
<scallop:binding.rmi registryName="article-goldwind-admin-service-rmi" serviceName="ArticleRMIService" />
</reference>
</component>
(待续)
明天计划的事情:(一定要写非常细致的内容)
继续理解turcany
遇到的问题:(遇到什么困难,怎么解决的)
down了一波之前项目的代码,web模块没有跑起来,应该和服务类没有全部启动有关,明天继续
收获:(通过今天的学习,学到了什么知识)
学习tuscany
评论