在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称:osmp开源软件地址:https://gitee.com/wyuxiao729/osmp开源软件介绍:#osmp Osgi Service Management Platform 交流QQ群:335898216 osgi实战项目(osmp)一步一步玩转osgi同步博客地址:博客:http://wyuxiao729.iteye.com/ 基于osgi实战项目osmp视频教程: https://pan.baidu.com/s/1nvuJtDR
入门开发 环境:jdk1.7以上服务器:apache-servicemix5.1.0 目前高版本由于spring不兼容。需要修改spring配置,有兴趣的TX可以自己修改 1、添加数据源,新增数据源配置文件,并直接上传到服务器 /etc/datasource 目录下即可,系统会自动扫描并动态添加数据 com.osmp.jdbc.properties osmp.jdbc.name=osmposmp.jdbc.driverClassName=com.mysql.jdbc.Driverosmp.jdbc.url=jdbc:mysql://10.2.2.1:3306?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8osmp.jdbc.username=rootosmp.jdbc.password=rootosmp.jdbc.initialSize=5osmp.jdbc.maxActive=100osmp.jdbc.minIdle=5osmp.jdbc.maxWait=3000osmp.jdbc.validationQuery=select 1osmp.jdbc.timeBetweenEvictionRunsMillis=100000osmp.jdbc.minEvictableIdleTimeMillis=30000osmp.jdbc.removeAbandonedTimeout=30000 2、添加后可以直接访问 http://ip:8181/druid 查看是否添加成功 3、开发服务组件3.1参照提供的osmp-demo组件,建立 pom 插件工程,pom如下: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>com.osmp.baseweb</groupId> <artifactId>osmp-parent</artifactId> <version>1.0.0</version> </parent> <artifactId>osmp-demo</artifactId> <packaging>bundle</packaging> <name>osmp-demo</name> <build> <plugins> <plugin> <groupId>org.apache.felix</groupId> <artifactId>maven-bundle-plugin</artifactId> <extensions>true</extensions> <configuration> <instructions> <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName> <Export-Package></Export-Package> <Import-Package> org.springframework.aop, org.springframework.aop.framework, org.springframework.cglib, org.springframework.cglib.proxy, org.springframework.cglib.core, org.springframework.cglib.reflect, org.aopalliance.aop, org.aopalliance.intercept, *;resolution:=optional </Import-Package> </instructions> </configuration> </plugin> </plugins> </build> <dependencies> <dependency> <groupId>com.osmp.baseweb</groupId> <artifactId>osmp-intf-define</artifactId> <version>${osmp.version}</version> </dependency> <dependency> <groupId>com.osmp.baseweb</groupId> <artifactId>osmp-jdbc</artifactId> <version>${osmp.version}</version> </dependency> <dependency> <groupId>com.osmp.baseweb</groupId> <artifactId>osmp-cache-osgi</artifactId> <version>${osmp.version}</version> </dependency> <dependency> <groupId>org.springframework.osgi</groupId> <artifactId>spring-osgi-core</artifactId> </dependency> <dependency> <groupId>org.osgi</groupId> <artifactId>org.osgi.core</artifactId> </dependency> </dependencies></project> 3.2并编写服务类,服务类需要实现 BaseDateService接口如下: /* * Project: OSMP * FileName: TestServiceImpl.java * version: V1.0 */package com.osmp.demo.service;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Component;import com.osmp.intf.define.model.Parameter;import com.osmp.intf.define.service.BaseDataService;import com.osmp.demo.service.user.UserService;import com.osmp.demo.service.user.entity.User;/** * Description: * * @author: wangkaiping * @date: 2014年9月26日 下午3:03:55 */@Componentpublic class TestServiceImpl implements BaseDataService { @Autowired private UserService userservice; @Override public Object execute(Parameter parameter) { String name = parameter.getQueryMap().get("name"); String age = parameter.getQueryMap().get("age"); userservice.getUserAge(age); userservice.getUserName(name); User u = new User(); u.setAge(userservice.getUserAge(age)); u.setName(userservice.getUserName(name)); return u; }} 3.3发布为osgi服务,配置文件如下: <?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" xmlns:osgi="http://www.springframework.org/schema/osgi" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/osgi http://www.springframework.org/schema/osgi/spring-osgi-1.2.xsd"> <context:component-scan base-package="com.osmp.demo.service"> </context:component-scan> <bean id="jdbcDao" class="com.osmp.jdbc.support.JdbcDao"></bean> <bean id="osmp.demo.service" class="com.osmp.demo.service.TestServiceImpl" /> <osgi:service interface="com.osmp.intf.define.service.BaseDataService" ref="osmp.demo.service"> <osgi:service-properties> <entry key="name" value="osmp-demo" /> <entry key="mark" value="测试DEMO" /> </osgi:service-properties> </osgi:service></beans> 3.4 maven install打包后,发布,将打好的包直接复制到servicemix/deploy即可 3.5 访问服务 http://192.168.2.206:8181/cxf/service/osmp-demo?source={"from":"demo"}¶meter={"name":"gg","age":"12"}访问规则 ip:port/cxf/service/发布的服务名称?source参数表示来源的客户端,可以自由扩展,但是frmo不能少, parameter 参数,json格式 |
请发表评论