java - OSGI、Servlet 和 JPA hello world/教程/示例

标签 java web-services jpa plugins osgi

我想构建一个 web 应用程序,它基本上是一个提供 json 消息的 restful web 服务。我希望它尽可能简单。我正在考虑使用 servlet(带有注释)。 JPA 作为数据库层是必须的——Toplink 或 Hibernate。最好在 Tomcat 上工作。我想将应用程序划分为提供不同功能(授权服务、客户服务等)的模块。我希望能够在不在服务器上重新安装整个应用程序的情况下更新这些模块——比如 eclipse 插件,用户会收到通知(当他输入 webapp 的主页 url 时)更新可用,单击它,应用程序正在下载和安装更新的模块.

我认为这个功能可以用 OSGI 实现,但我找不到任何示例代码,也找不到简单的 hello world 可更新 servlet 教程,通过 jpa 从数据库中提供一些数据。

我正在寻找建议: - OSGI 是适合这个的工具还是可以用更简单的东西来完成? - 我在哪里可以找到一些涵盖该项目所需主题(或多个主题)的示例。 - 哪种 OSGI 实现最适合此任务。

*我对 OSGI 的了解很基础。我知道 bundle 是如何描述的,我了解 OSGI 容器的概念及其作用。我还没有创建任何 OSGI 应用程序。

最佳答案

我认为 OSGi 非常适合您所描述的,是的。一旦将 servlet 和 JPA 添加到组合中,您就会看到使用所谓的企业 OSGi,它是核心 OSGi 之上的功能层。主要有两个实现,Apache Aries 和 Eclipse Gemini。它们预先集成到各种服务器中,包括 Apache Geronimo,或者您可以推出自己的堆栈。 (我是白羊座的提交者。)

有关使用 Aries 进行 Web 开发的教程,请查看 http://www.javabeat.net/articles/378-writing-an-osgi-web-application-1.html . Aries 自己有一个示例,您可以下载并使用 apache.org/downloads/blogsample-0.3.html。但是,它比 Hello World 复杂一点,您可能需要比当前水平多一点的 OSGi 知识才能充分利用它。作为起点,我建议您熟悉 OSGi 控制台(博客示例使用 equinox 控制台)以查看您的系统中发生了什么。对于 equinox,ss 命令最有用,bundle 命令是我次常使用的命令。

如果您搜索企业 OSGi、servlet 和 JPA,您应该会找到一些有用的资源。 developerWorks 有几篇文章。

关于java - OSGI、Servlet 和 JPA hello world/教程/示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10053394/

相关文章:

java - 在文件处理中如何从 char[] 数组读取文件?

java - CAS JpaTicketRegistry 不工作

java - 使用内部联接从 JPA 查询中删除

java - 通过继承属性查询

java - 如何使用Java从声卡录制音频?

java - 在Java中,如何以编程方式识别zip中的隐藏文件?

java: bind exception address in use 未使用时报错(netstat显示)

php - 如何使用带有 PFX 文件和密码的 PHP 连接到 API?

java - 将自定义对象作为 Web 服务的参数发送

java - 将图像字节数组作为 json 从 android 应用程序传递到 c# restful 服务