windows-services - 如何使用不同的帐户将 Apache ActiveMQ Artemis 作为 Windows 服务运行
问题描述
我想在 Windows Server 2016 上将 ActiveMQ Artemis (2.10.1) 作为 Windows 服务作为 Windows 服务运行。我遵循了文档:
在 Windows 上,您可以选择将 ActiveMQ Artemis 作为服务运行。只需使用以下命令来安装它:
$ ./artemis-service.exe install
只要我将用户切换到具有管理员权限的帐户,它就可以很好地工作。但是,在我正在工作的项目中,最好将服务作为特殊的“服务用户”帐户运行。
当开发自己的 Windows 服务时,可以使用ServiceProcessInstaller.Account
类/属性来控制用于服务的帐户。
我猜这种行为是内置在artemis-service.exe
二进制和随附的配置文件中的,artemis-service.xml
.
但是我找不到任何文档或源代码。有谁知道?
解决方案
根据在构建 Artemis 期间的pom.xmlartemis-service.exe
是从Maven Repository Artifact winsw中提取的来自github 上的 WinSW 的内容。根据其文档,您必须在 xml 文件中指定服务帐户:
服务帐号
可以指定服务运行的用户帐户(和密码)。为此,请指定如下元素:
<serviceaccount> <domain>YOURDOMAIN</domain> <user>useraccount</user> <password>Pa55w0rd</password> <allowservicelogon>true</allowservicelogon> </serviceaccount>
<allowservicelogon>
是可选的。如果设置为 true,将自动为列出的帐户设置“允许作为服务登录”权限。
有人已经尝试做类似您正在尝试的事情并将问题注册服务打开为本地服务而不是系统服务 #121。
推荐阅读
- amazon-web-services - 如何从单个 S3 存储桶提供多个静态页面?
- dependencies - 介子:如何生成“仅标头”依赖项
- flutter - Flutter 中的 main() 和 void main() 有什么区别
- flutter - 根据颤动中的条件导航到下一页
- android - 从 Firebase Firestore 检索 JSON 字符串
- java - 我们如何在 Selenium Web 驱动程序中使用预填充 cookie 来更快地运行测试
- node.js - 我的 nodejs 代码在 Google Cloud Function 上被跳过
- git - 从 git 历史记录中删除大数据文件夹
- javascript - Jest 测试在本地通过,但在 TeamCity 上失败,在导入打字稿类时出现“意外令牌”错误
- javascript - agent.add 在 promise.then 对话框流中不起作用