Mule云连接器@connect方法无法在mule启动时调用

时间:2013-06-19 08:13:00

标签: mule mule-studio

在我正在处理的云连接器中,我的连接器的@connect方法无法被命中时可能的原因是什么?我的项目是从Maven云连接器原型构建的。

@source被称为正常,更新站点在Maven中生成并导入到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) {
                }
            }

2 个答案:

答案 0 :(得分:1)

基本检查:您的课程应使用@Connector而不是@Module进行注释。

尝试执行以下操作:

  • @ConnectionKey添加到configFileLocation方法的connect()参数中,
  • @ConnectionIdentifier上添加getConfigFileLocation()(如果您没有,请添加获取者)

看看会发生什么。

答案 1 :(得分:1)

解决方案是将标记为@ValidateConnection的方法设为非真值(默认方法stub)

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