为JDBC源-XXX应用程序定制JDBC驱动程序
我试图使用MS SQL驱动程序与本地数据流服务器JDBC应用 jdbc --url='jdbc:sqlserver://server' --driver-class-name=com.microsoft.sqlserver.jdbc.SQLServerDriver
为JDBC源-XXX应用程序定制JDBC驱动程序
正如预期的那样,驾驶员是不是在classpath中,我得到 Cannot load driver class: com.microsoft.sqlserver.jdbc.SQLServerDriver
部署流时。
我也试图调用与-cp参数的数据流服务器:
java -cp "C:\path\to\msjdbc.jar " -jar spring-cloud-dataflow-server-local-1.0.1.RELEASE.jar
- 同样的结果。
任何人都可以帮助解决这个问题吗?
感谢
感谢您的建议Ilayaperumal Gopinathan,它帮助我解决了这个问题。 貌似的app.jdbc.spring.cloud.deployer.local.classpath
和app.jdbc.spring.cloud.deployer.local.main
的使用是无证功能,它并没有为我(以免与1.0.1.Release的)工作
我已经设法修补预先建立的JDBC启动,包括MS JDBC驱动程序遵循http://docs.spring.io/spring-cloud-stream-app-starters/docs/current-SNAPSHOT/reference/htmlsingle/#_patching_pre_built_applications的文档。
由于在1.1.0.Snapshot中已解决的此错误(https://github.com/spring-cloud/spring-cloud-dataflow/issues/748),它不适用于1.0.1.Release。
我没有必要指定任何白名单的属性,并且1.1.0.Snapshot从内部jar中正确地选取了它们。
的local
数据流服务器将在一个单独的进程中的应用程序,并且不使用类路径资源的应用程序。因此,我认为您需要将驱动程序添加到jdbc
应用程序路径中。或者,您可以尝试在部署流时为app
设置classpath
本地部署者部署属性。当指定spring.cloud.deployer.local.classpath
属性时,还需要指定属性spring.cloud.deployer.local.main
。
流创建A1 --definition “时间| JDBC”
流部署A1 --properties“app.jdbc.spring.cloud.deployer.local.classpath = /温度/ myclasspath,app.jdbc.spring .cloud.deployer.local.main =“
谢谢,它确实有道理,在这种情况下应该是什么'main'? –
这是应用程序的Java主应用程序类。如果你使用开箱即用的'jdbc'接收器,'app'有'rabbit'联编程序,那么你的'main'类是:'org.springframework.cloud.stream.app.jdbc.sink.rabbit。 JdbcSinkRabbitApplication'。 –
我已经尝试了你的建议,但这些部署属性有些如何从'deploymentProperties'映射中分出来。我运行了远程调试器,发现它们正确地传递给'StreamDeploymentController',但是当我到达'AbstractLocalDeployerSupport :: buildExecutionCommand'方法时,它们从'AppDeploymentRequest'消失。 –
感谢Alexander试用和输入。这些功能刚添加完毕,我们会尽早处理文档。 –