Mule ESB 以 SYSTEM 用户身份启动嵌入式 tomcat - Windows Server 2008 R2

Mule ESB 以 SYSTEM 用户身份启动嵌入式 tomcat - Windows Server 2008 R2

场景是 --- 我在 Anypoint Studio(基于 eclipse 的 IDE)中开发了一个简单的流程,它从网络位置读取文件,处理日期,然后将数据写入数据库。我测试了它是否有效,然后在 Mule ESB 运行时上发布它。开发 IDE 和运行时位于两台不同的机器上,都是 Windows Server 2008 R2。

问题是 --- 我的程序无法从 Mule ESB 运行环境读取文件,出现权限问题。

Mule ESB 架构的最低背景知识。(对于运行时环境)Mule Enterprise ESB(mmc-distribution-mule-console-bundle-3.5.2-HF1)带有嵌入式 Tomcat 服务器,并且 Mule > Startup.bat 有以下两个语句来调用 tomcat startup.bat

CD mmc-3.5.2-HF1\apache-tomcat-7.0.52 启动 /B bin\startup.bat

  • 我以管理员身份登录运行时计算机并“以管理员身份”启动 mule\Startup.bat,然后在 Windows 任务管理器中显示它已以管理员用户身份启动(C:\dev\java\jdk1.7.0_75\bin\java.exe)
  • 但是,上述两个 DOS 命令以 SYSTEM 用户身份启动 Tomcat 服务器(C:\Windows\System32\java.exe)。
  • 由于 Tomcat 服务器以 SYSTEM 用户身份运行,因此在该环境中部署并运行的应用程序出现权限错误。

到目前为止所做的调查(在运行时计算机上) - 我下载了 Tomcat 的全新副本,在 eclipse JUNO IDE 中创建了一个简单的可部署项目,该项目将从网络位置访问文件,以管理员身份运行此 tomcat,并且可以看到我的应用程序正在从那里读取文件。这表明问题不在于 Tomcat 或网络驱动器或应用程序的权限。 - 我可以从 IE、映射驱动器、Windows 资源管理器等访问网络位置 - 我以管理员身份登录。 - Windows UAC 访问控制已被禁用。 - 我在 Google 上搜索了很多关于上面给出的 2 个 DOS 命令。目前,Mule > startup.bat 正在使用 START 命令启动 tomcat 并且我想用一些可以以管理员用户身份启动 tomcat 的命令替换它。我发现 runAs 可以做到这一点。但是,我将上述命令替换为 runas,然后它不接受密码作为命令行参数,因此,我无法成功启动 MMC(Mule 管理控制台)应用程序。 - 我本地映射了网络驱动器,但 Mule > Tomcat 中的应用程序仍然无法读取文件。 - 我已将网络文件夹的访问权限授予所有人,因此这不是网络文件夹访问权限问题。 - 我已经向 MuleSoft 提出了这个问题。 - Mule 已启动 TCAT 服务器(另一个许可产品)并将 tomcat 作为 Windows 服务启动。但是,我不明白如何将 tomcat 作为服务启动会修复 mule>startup.bat 文件中的上述 2 条语句。 - mule> tomcat 环境中的应用程序只能访问 C:\

简单来说,这个问题的解决方案是 - Mule > startup.bat 应该以管理员身份而不是以 SYSTEM 身份调用 tomcat > startup.bat。

我已经没什么主意了。有谁愿意建议一些我还没尝试过的事情吗?

诚挚问候 Rashmi

相关内容