首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Glassfish/Java 5 web服务的应用程序配置文件

Glassfish/Java 5 web服务的应用程序配置文件
EN

Stack Overflow用户
提问于 2009-07-07 18:52:43
回答 4查看 9K关注 0票数 11

我正在尝试编写一些简单的Java服务,这样我们就可以从.NET调用Java代码了。到目前为止,我已经得到了在Glassfish下工作的概念的证明。当IDE完成所有工作时,非常简单。

现在,我真的陷入了Java中应该非常简单的东西上。例如,我希望将配置具体化,这样就可以在不重新编译的情况下更改连接字符串/用户名/应用程序变量/等等。

在.NET中,您只需将一些字符串放在网站根目录的web.config文件中,然后使用:ConfigurationManager.AppSettings["whateverIwant"];

我可以让java.util.Properties做我想做的事情(从一个独立的客户端),但是我不知道将.properties文件放在哪里,以及如何从web服务中获取到它的路径。

我也需要我的方法在WebSphere应用服务器中工作。谢谢!

EN

回答 4

Stack Overflow用户

发布于 2011-11-07 22:40:51

正如其他人所提到的,它在很大程度上依赖于容器,但是动态配置几乎总是存储在数据库中,而不是XML或.properties文件中。

正如我所看到的,这就像一个概念的证明,这里有一个快速而肮脏的解决方案:(不要为生产代码这样做)使用。缺点:每次更改都需要重新启动容器,但不需要重新编译应用程序。

要在Glassfish中使用系统属性,您可以转到"Configuration -> system Properties“部分,并在其中添加属性。然后从你的应用程序内部调用

代码语言:javascript
运行
复制
String myValue = System.getProperty("myProperty");

为了得到价值。所有java应用程序都支持这些属性,但我不知道如何在Websphere中配置它们。

票数 7
EN

Stack Overflow用户

发布于 2011-11-04 11:23:46

唉,Java在应用程序配置方面有一个巨大的漏洞。

你最好的选择是:

  • 使用JNDI在应用程序服务器环境中存储配置。这对于用户进行任何配置来说都是很难做到的、痛苦的和绝对的噩梦。配置UI取决于正在使用的应用服务器和版本,并且可能是特定于该应用服务器的命令行专用实用程序。
  • 使用Preferences API来存储您的配置,并生成您自己的UI来编辑它。这没什么..。但你不能控制你的设置何时刷新和重新输入。当你的应用程序被重新部署时,一些应用服务器会这样做,而你可能不想这样做。

总之,这种情况绝对糟糕透顶。对于一个应用服务器来说,没有干净、合理的方法来提供一个简单的属性映射和UI来使用应用服务器的管理工具来编辑它。

我试图使用web上下文参数来解决这个问题,但是发现它们也是错误的。Glassfish忽略了设置的第一个web上下文参数,如果没有servlet上下文,就很难访问它们,所以您无法在整个应用程序中轻松地访问它们。

如果有人有一个更好的答案,我很想听,因为目前的情况似乎是惊人的一个规范,经历了几次主要的迭代。

另见:Java应用程序的存储和编辑配置

票数 5
EN

Stack Overflow用户

发布于 2012-05-24 07:21:22

到目前为止,我找到的最好的解决方案是"EAC4J (Java外部应用程序配置)“。我在很多项目中都成功地使用过。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1094121

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档