- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我想构建一个 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/
我在 trying to share the Struts packages 时遇到了这个问题在 OSGi 容器内的多个包之间。我想避免在包内重复依赖项并在它们之间引入新的依赖项(通过让一个包导出其内
我正在考虑在我们的项目中管理版本控制的最佳方式。目前,我们 bundle 中的每个包都是导出的(这将在以后改进,所以不要因为这个失礼而挂断电话)。我们正在使用 maven-bundle-plugin,
我正在进行一个项目,我们将迁移基于大量定制技术的主要软件系统,使其基于 OSGi 服务。为此,我们可能需要某种与 OSGi 服务配合良好的消息总线。 同步和异步传送 仅点对点 保证交付 - 最好通过文
我的项目有一组自定义定义的注释,它们可以出现在 OSGi 4.3 框架中部署的任何包中。我想在类路径中找到任何带有这些注释的类。我尝试使用 BundleWiring.listResources(...
我创建了一个片段包来访问一些添加到第二方 jar 的功能。我的片段应该注册一个服务来公开这个新功能。它似乎不起作用。在我深入进行故障排除之前,我想知道这是否被允许?也就是说,Felix SCR 的 b
OSGi 是 Java 的动态模块化系统。好的,但是基线主题是什么,为什么要开发 OSGi?使用 OSGi 有什么好处?开发 OSGi 的主要故事是什么?它为什么存在? 最佳答案 如果你仔细观察,Ja
当一个包被更新(比如修复一个错误)时,当前正在使用正在更新的包的其他包会发生什么? 假设有两个捆绑包 service 和 dao。假设当我发出更新 dao 层的命令时,服务包中的类正在使用 dao 包
在 OSGi 下,组件与服务之间的主要区别是什么?据我了解,所有服务都必须是组件,但并非所有组件都必须是服务。 在示例用例中使用其中一种比另一种有什么好处? 最佳答案 “组件”的定义不如服务正式。 服
这合法吗?org.fragment1 的 MANIFEST.MF(org.host 是普通包,不是片段): Bundle-SymbolicName: org.fragment1 Fragment-Ho
在我当前的应用程序中,我在几个地方遇到了这种模式:我在一个 bundle 中有两个服务接口(interface),它们执行不同但相关的工作。 interface Service1 { ... } in
我的 OSGi 应用程序需要一个 jar(sample;version=A),并且我必须将相同的 jar(sample;version=B) 用于我开发的新包。 示例 jar 有一些增强功能,因此我不
osgi> install file:D:\f1\*.jar osgi> install --start file:D:\f1\*.jar 以上命令在 WSO2 OSGi 控制台中是非法的。如何从文件
和有什么不一样和 在spring DM的xml配置文件中。 最佳答案 可用于获取 对现有 OSGi 服务的引用,以便您的 bean 可以使用它。 可用于导出将 bean 作为 OSGi 服务,以
我有一个应用程序暂时使用 Equinox 作为 osgi 框架。直到现在我都使用系统属性 osgi.install.area 来指定我的包在哪里 ${osgi.install.area}/ plu
背景 在过去一年左右的时间里,我设计了许多工具,旨在帮助我为 XPage 编程。这些工具主要包括帮助程序 java 类、扩展日志记录(使用 OpenLogger 和我自己的东西),以及我个人觉得我不能
我有一个 OSGi 组件 MyComponent . 该组件引用了服务 MyService .现在MyService有几个实现 MyServiceImpl1和 MyServiceImpl2 . MyC
我有几个 OSGi 包,每个都可以从 OSGi 包存储库更新。 当我启动我的 OSGi 框架 (Apache Felix) 时,我希望第一个包启动并检查所有已安装包的更新。如果有可用更新,它应该更新每
当我们在 Apache Felix Web OSGi 控制台的配置选项卡中更新组件的任何配置时,这些配置设置保存在哪里?这是针对 AEM 6.0 或更高版本。 最佳答案 手动保存的配置设置存储在 cr
我有简单的 OSGI 事件监听器类 @Component(immediate = true) @Service(value = { EventHandler.class, JobConsumer.cl
我们正在开发一个网络应用程序(我们称之为图像库),我们已经确定了以下需求: 该应用程序迎合由一组用户组成的客户。 可以动态创建新客户并由客户管理其用户 客户有不同的功能集,可以动态更改 客户可以开发自
我是一名优秀的程序员,十分优秀!