MFP 7.1 - 开发环境如何使用Oracle数据库
MFP 7.1 - How to use Oracle database for development environment
开发环境如何使用Oracle数据库?我想这样做的原因是因为我想通过推送通知重现我们在测试环境中发现的问题,-(当重新启动应用程序时,用户会自动取消订阅。用户 ID 会自动被 PUSH_SUBSCRIPTION 中的某些代码覆盖 table.)
dev 自带的 Derby 不允许 2 个连接。
我是否需要安装服务器,或者我是否可以只指向现有的 oracle 数据库,我已经在其中创建了 WLADMIN 和 WRKLIGHT 架构。
MobileFirst Platform 开发环境不支持将外部数据库用于 MobileFirst Platform 运行时间和管理服务 - 您只能使用嵌入式 Derby 数据库。如果您更改开发服务器中的 server.xml 以加载 Oracle JDBC 驱动程序而不是 Derby 驱动程序,并更改数据源以使用它(并指向具有已创建和填充的数据库模式的现有数据库使用我们为独立服务器提供的脚本——因为开发环境没有给你手动执行此操作的方法),我想不出它不起作用的原因——但我从来没有亲自尝试过,而且它是完全不受支持,因此如果您 运行 在执行此操作时遇到问题,我们可能无法为您提供任何帮助。另外,我不确定当您将应用程序(即 WAR 文件)重新部署到开发服务器时,您的 server.xml 更改是否会被覆盖。
完成您想做的事情的最简单(也是最受支持)的方法可能是使用 Oracle 作为数据库服务器设置一个单独的独立测试服务器。
将此测试环境指向已用于生产应用程序的现有数据库并不是一个好主意;它应该有自己的数据库,独立于任何其他环境。
其实开发环境是支持Oracle的
打开 your-project\server\conf\worklight.properties.
在此文件中有以下部分:
############################################
# DB Settings [Development Only]
############################################
# For MySQL
#wl.db.url=jdbc:mysql://localhost:3306/WRKLGHT
# For Derby
#wl.db.url=jdbc:derby:${worklight.home}/derby/WorklightDB;create=true
#wl.reports.db.url=jdbc:derby:${worklight.home}/derby/WorklightReportsDB;create=true
# For DB2
#wl.db.url=jdbc:db2:WRKLGHT
# For Oracle
#wl.db.url=jdbc:oracle:thin:@localhost:1521:SID
#wl.db.username=worklight
#wl.db.password=worklight
取消注释 Oracle (wl.db.url
) 以及 wl.db.username
和 wl.db.password
行。
在这些行中填写正确的详细信息。
下次启动,在启动服务器之前,确保数据库准备就绪。
如果您已有服务器,它可以工作。但是如果你想正确测试,你应该有一个干净的。无论哪种方式,备份您的数据库。
因为您将从 Studio 中对此进行测试,我认为 数据库将在服务器启动时自动为您创建(与外部服务器不同,您必须在外部服务器上执行此操作)你自己)。不过,您可能仍然需要创建它。您需要 运行 ant 脚本来生成各种表。
开发环境如何使用Oracle数据库?我想这样做的原因是因为我想通过推送通知重现我们在测试环境中发现的问题,-(当重新启动应用程序时,用户会自动取消订阅。用户 ID 会自动被 PUSH_SUBSCRIPTION 中的某些代码覆盖 table.)
dev 自带的 Derby 不允许 2 个连接。
我是否需要安装服务器,或者我是否可以只指向现有的 oracle 数据库,我已经在其中创建了 WLADMIN 和 WRKLIGHT 架构。
MobileFirst Platform 开发环境不支持将外部数据库用于 MobileFirst Platform 运行时间和管理服务 - 您只能使用嵌入式 Derby 数据库。如果您更改开发服务器中的 server.xml 以加载 Oracle JDBC 驱动程序而不是 Derby 驱动程序,并更改数据源以使用它(并指向具有已创建和填充的数据库模式的现有数据库使用我们为独立服务器提供的脚本——因为开发环境没有给你手动执行此操作的方法),我想不出它不起作用的原因——但我从来没有亲自尝试过,而且它是完全不受支持,因此如果您 运行 在执行此操作时遇到问题,我们可能无法为您提供任何帮助。另外,我不确定当您将应用程序(即 WAR 文件)重新部署到开发服务器时,您的 server.xml 更改是否会被覆盖。
完成您想做的事情的最简单(也是最受支持)的方法可能是使用 Oracle 作为数据库服务器设置一个单独的独立测试服务器。
将此测试环境指向已用于生产应用程序的现有数据库并不是一个好主意;它应该有自己的数据库,独立于任何其他环境。
其实开发环境是支持Oracle的
打开 your-project\server\conf\worklight.properties.
在此文件中有以下部分:
############################################
# DB Settings [Development Only]
############################################
# For MySQL
#wl.db.url=jdbc:mysql://localhost:3306/WRKLGHT
# For Derby
#wl.db.url=jdbc:derby:${worklight.home}/derby/WorklightDB;create=true
#wl.reports.db.url=jdbc:derby:${worklight.home}/derby/WorklightReportsDB;create=true
# For DB2
#wl.db.url=jdbc:db2:WRKLGHT
# For Oracle
#wl.db.url=jdbc:oracle:thin:@localhost:1521:SID
#wl.db.username=worklight
#wl.db.password=worklight
取消注释 Oracle (wl.db.url
) 以及 wl.db.username
和 wl.db.password
行。
在这些行中填写正确的详细信息。
下次启动,在启动服务器之前,确保数据库准备就绪。
如果您已有服务器,它可以工作。但是如果你想正确测试,你应该有一个干净的。无论哪种方式,备份您的数据库。
因为您将从 Studio 中对此进行测试,我认为 数据库将在服务器启动时自动为您创建(与外部服务器不同,您必须在外部服务器上执行此操作)你自己)。不过,您可能仍然需要创建它。您需要 运行 ant 脚本来生成各种表。