Mule云连接器@connect方法在Mule启动时调用失败



当我的连接器的@connect方法在我正在工作的云连接器中失败时,可能的原因是什么?我的项目是由Maven云连接器原型构建的。

@source被称为fine,更新站点在Maven中被fine地生成并导入到Mule Studio中。

/**
 * @param configFileLocation  config File Location
 */
@Connect
public void connect(final String configFileLocation)
    throws ConnectionException {
    System.out.println("Connect called");
    <connect code in here...>
}
@Source
    public void inboundEndpoint(final String sessionID,
            final SourceCallback callback) {
        getSessionSourceCallbackMap().put(sessionID, callback);
    }

可能是因为我不需要在connect方法中使用用户和密码参数?我怀疑我需要在生成的更新站点代码中挖掘。

可能有帮助:在步进一些代码后,调试器暂停在:

  ConnectorInjectionAdapter connector = new ConnectorInjectionAdapter();

和InboundEndpointMessageSource.java中,捕获未处理的异常

finally {
            if (connection!= null) {
                try {
                    castedModuleObject.releaseConnection(new FixConnectorConnectionManager.ConnectionKey(transformedConfigFileLocation), connection);
                } catch (Exception _x) {
                }
            }

基本检查:你的类应该用@Connector而不是@Module注释

试着这样做:

  • connect()方法的configFileLocation参数中增加@ConnectionKey
  • getConfigFileLocation()上添加@ConnectionIdentifier(如果没有则添加getter)

,看看会发生什么

解决方案是使用非真值(默认方法stubb)标记@ValidateConnection

@ValidateConnection
public boolean isConnected() {
    //code to say whether connected or not
}

最新更新