/* * Copyright 2009-2016 Weibo, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.weibo.motan.demo.server; import com.weibo.api.motan.common.MotanConstants; import com.weibo.api.motan.config.springsupport.BasicServiceConfigBean; import com.weibo.api.motan.config.springsupport.AnnotationBean; import com.weibo.api.motan.config.springsupport.ProtocolConfigBean; import com.weibo.api.motan.config.springsupport.RegistryConfigBean; import com.weibo.api.motan.util.MotanSwitcherUtil; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; import org.springframework.context.support.ClassPathXmlApplicationContext; @Configuration @ComponentScan public class AnnotationRpcServerDemo { public static void main(String[] args) throws InterruptedException { ApplicationContext applicationContext = new ClassPathXmlApplicationContext(new String[]{"classpath*:motan_demo_server_annotation.xml"}); MotanSwitcherUtil.setSwitcherValue(MotanConstants.REGISTRY_HEARTBEAT_SWITCHER, true); System.out.println("server start..."); } @Bean(name="demoMotan") public ProtocolConfigBean protocolConfig1() { ProtocolConfigBean config = new ProtocolConfigBean(); config.setDefault(true); config.setName("motan"); config.setMaxContentLength(1048576); return config; } @Bean(name = "motan") public ProtocolConfigBean protocolConfig2() { ProtocolConfigBean config = new ProtocolConfigBean(); // config.setId("demoMotan2"); config.setName("motan"); config.setMaxContentLength(1048576); return config; } @Bean(name="registryConfig1") public RegistryConfigBean registryConfig() { RegistryConfigBean config = new RegistryConfigBean(); config.setRegProtocol("zookeeper"); config.setAddress("127.0.0.1:2181"); return config; } @Bean public BasicServiceConfigBean baseServiceConfig() { BasicServiceConfigBean config = new BasicServiceConfigBean(); config.setExport("demoMotan:8002"); config.setGroup("motan-demo-rpc"); config.setAccessLog(false); config.setShareChannel(true); config.setModule("motan-demo-rpc"); config.setApplication("myMotanDemo"); config.setRegistry("registryConfig1"); return config; } }