code: @Bean
  	public RemoteServiceCaller remoteServiceCaller(Optional<EasyTransRpcConsumer> optionalConsumer,
  			@Lazy Optional<EasyTransMsgPublisher> optionalPublisher, ObjectSerializer serializer,
  			QueueTopicMapper queueTopicMapper) {
  
  		EasyTransRpcConsumer consumer = optionalConsumer.orElseGet(() -> new EasyTransRpcConsumer() {
  
  			@Override
  			public <P extends EasyTransRequest<R, ?>, R extends Serializable> R call(String appId, String busCode,
  					String innerMethod, Map<String, Object> header, P params) {
  				throw new RuntimeException("can not find EasyTransRpcConsumer implement but try handle rpc request");
  			}
  
  			@Override
  			public <P extends EasyTransRequest<R, ?>, R extends Serializable> void callWithNoReturn(String appId,
  					String busCode, String innerMethod, Map<String, Object> header, P params) {
  				throw new RuntimeException("can not find EasyTransRpcConsumer implement but try handle rpc request");
  			}
  		});
  
  		EasyTransMsgPublisher publisher = optionalPublisher.orElseGet(() -> new EasyTransMsgPublisher() {
  
  			@Override
  			public EasyTransMsgPublishResult publish(String topic, String tag, String key, Map<String, Object> header,
  					byte[] msgByte) {
  				throw new RuntimeException("can not find EasyTransMsgPublisher implement but try to publish a message");
  			}
  		});
  
  		return new RemoteServiceCaller(consumer, publisher, serializer, queueTopicMapper);
  	}
docs: 不知道为何，不在两个入参上加上lazy就无法成功启动spring,会报找不到对应的bean。于是加上了lazy标签
  
  @param optionalConsumer
  @param optionalPublisher
  @param serializer
  @return