【问题标题】:Cannot get Mule ESB - Studio Artifacts无法获取 Mule ESB - Studio Artifacts
【发布时间】:2013-11-05 02:18:48
【问题描述】:

我正在尝试在 Mule Studio 3.4 中测试数据库连接。我不断收到错误,并且一直在错误日志中注意到这个特定的错误。这是想告诉我什么?与数据库的连接一直失败,我不确定出了什么问题。我是 mule 的新手,对 java 和 spring 的经验并不丰富。任何帮助表示赞赏。

下面是错误的堆栈跟踪。

org.mule.common.MuleArtifactFactoryException: Error initializing
    at org.mule.config.spring.SpringXmlConfigurationMuleArtifactFactory.doGetArtifact(SpringXmlConfigurationMuleArtifactFactory.java:149)
    at org.mule.config.spring.SpringXmlConfigurationMuleArtifactFactory.getArtifact(SpringXmlConfigurationMuleArtifactFactory.java:49)
    at org.mule.config.spring.SpringXmlConfigurationMuleArtifactFactory.getArtifact(SpringXmlConfigurationMuleArtifactFactory.java:39)
    at org.mule.tooling.metadata.api.utils.ConnectionTester.internalTestConnection(ConnectionTester.java:58)
    at org.mule.tooling.metadata.api.utils.ConnectionTester.testConnectionFor(ConnectionTester.java:92)
    at org.mule.tooling.messageflow.action.TestConnectorConnectionFromMuleConfigAction$1$1.run(TestConnectorConnectionFromMuleConfigAction.java:65)
    at java.lang.Thread.run(Unknown Source)
Caused by: org.mule.retry.RetryPolicyExhaustedException: Error trying to load driver: ${osas-jdbc.classname} : ${osas-jdbc.classname} (java.sql.SQLException)
    at org.mule.retry.policies.AbstractPolicyTemplate.execute(AbstractPolicyTemplate.java:105)
    at org.mule.transport.AbstractConnector.connect(AbstractConnector.java:1616)
    at org.mule.transport.AbstractConnector.start(AbstractConnector.java:428)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.mule.lifecycle.phases.DefaultLifecyclePhase.applyLifecycle(DefaultLifecyclePhase.java:225)
    at org.mule.lifecycle.RegistryLifecycleManager$RegistryLifecycleCallback.onTransition(RegistryLifecycleManager.java:276)
    at org.mule.lifecycle.RegistryLifecycleManager.invokePhase(RegistryLifecycleManager.java:155)
    at org.mule.lifecycle.RegistryLifecycleManager.fireLifecycle(RegistryLifecycleManager.java:126)
    at org.mule.registry.AbstractRegistryBroker.fireLifecycle(AbstractRegistryBroker.java:80)
    at org.mule.registry.MuleRegistryHelper.fireLifecycle(MuleRegistryHelper.java:120)
    at org.mule.lifecycle.MuleContextLifecycleManager$MuleContextLifecycleCallback.onTransition(MuleContextLifecycleManager.java:94)
    at org.mule.lifecycle.MuleContextLifecycleManager$MuleContextLifecycleCallback.onTransition(MuleContextLifecycleManager.java:90)
    at org.mule.lifecycle.MuleContextLifecycleManager.invokePhase(MuleContextLifecycleManager.java:72)
    at org.mule.lifecycle.MuleContextLifecycleManager.fireLifecycle(MuleContextLifecycleManager.java:64)
    at org.mule.DefaultMuleContext.start(DefaultMuleContext.java:255)
    at org.mule.config.spring.SpringXmlConfigurationMuleArtifactFactory.doGetArtifact(SpringXmlConfigurationMuleArtifactFactory.java:130)
    ... 6 more
Caused by: org.mule.transport.ConnectException: Error trying to load driver: ${osas-jdbc.classname} : ${osas-jdbc.classname} (java.sql.SQLException)
    at org.mule.transport.jdbc.JdbcConnector.getConnection(JdbcConnector.java:258)
    at org.mule.transport.jdbc.JdbcConnector.doConnect(JdbcConnector.java:377)
    at org.mule.transport.AbstractConnector$5.doWork(AbstractConnector.java:1556)
    at org.mule.retry.policies.AbstractPolicyTemplate.execute(AbstractPolicyTemplate.java:67)
    ... 24 more
Caused by: java.sql.SQLException: Error trying to load driver: ${osas-jdbc.classname} : ${osas-jdbc.classname}
    at org.enhydra.jdbc.standard.StandardDataSource.getConnection(StandardDataSource.java:184)
    at org.enhydra.jdbc.standard.StandardDataSource.getConnection(StandardDataSource.java:144)
    at org.mule.transport.jdbc.JdbcConnector.getConnection(JdbcConnector.java:254)
    ... 27 more

【问题讨论】:

    标签: java jdbc mule mule-studio


    【解决方案1】:

    就好像您没有通过使用 Mule 的属性加载机制(即在类路径的根目录中名为 mule-app.properties 的文件)或使用 Spring 的 context:property-placeholder 提供 ${osas-jdbc.classname} 的值。

    【讨论】:

    • 好的。它无法解决该属性。但是,我为保存所有全局项目而创建的流程确实有一个引用文件的属性占位符,并且该文件位于构建路径中。当我尝试在另一个引用全局组件的流程中使用测试连接按钮时出现错误。
    • 我不认为“测试连接按钮”理解参数化配置。
    • 你说得对,但事实并非如此。一旦我用实际值替换它们(并发现我必须在 URL 中转义 &),它就起作用了。如果 Mulesoft 的任何人正在阅读本文,请将此作为改进 mule studio 的机会。
    • 嗯,这显然已经解决了:mulesoft.org/jira/browse/STUDIO-3123 然后尝试最新版本。
    • 他们可能已经在 SalesForce 连接器上修复了它,但是当您使用 spring bean 创建数据源时它仍然被破坏。我正在使用 studio 3.5.0 Build 201310031601。我在 10/24 下载了它。
    猜你喜欢
    • 2014-02-21
    • 1970-01-01
    • 2014-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多