- 浏览: 554104 次
- 性别:
- 来自: 西安
文章分类
- 全部博客 (251)
- UML/RUP/软件工程 (0)
- DDD:领域驱动设计 (1)
- IaaS/Paas/SaaS (1)
- Hadoop/YARN (10)
- PBDP项目 (2)
- OSGi-基础 (7)
- OSGi-Aries (2)
- OSGi-SpringDM (32)
- Oracle/MySQL/SS (8)
- Felix/Equinox/Bnd (14)
- Virgo Server/Gemini (7)
- Weblogic/JBoss/Tomcat (10)
- ActiveMQ (14)
- Camel (1)
- Spring Roo/Eclipse (7)
- Java/JSP/JSF (10)
- Maven (19)
- ESB-Mule (1)
- ESB-ServiceMix (18)
- SOA/SCA/SDO (12)
- WebService/RESTful (17)
- JS/jQuery/ExtJS (4)
- Spring/JPA/MVC (15)
- SpringSecurity (5)
- BPM/jBPM (3)
- Hudson/SVN/CI (0)
- LinuxOS/虚拟化 (25)
- Office/OpenOffice (1)
- 项目管理 (5)
- POI/jFreeChart (1)
最新评论
-
panamera:
请问JMS Transport 发布的webservice 是 ...
CXF 提供的Service Transport-JMS Transpor -
jianyi296:
where is attachment.
CXF WebService Dynamic Client -
hj01kkk:
您好,我用jdbc-user-service为什么每次验证时都 ...
SpringSecurity笔记3-Authenticating Users:Authenticaton Strategy -
wufenglin1231:
你好,我在实现Mapping exceptions to re ...
RESTful 异常处理 -
xchd:
[echo] Project: common
[echo ...
Hive安装配置学习笔记
未配置日志配置文件前,系统会抛出下面异常:
log4j:WARN No appenders could be found forlogger(org.springframework.osgi.extender.internal
.boot.ChainActivator). log4j:WARN Please initialize the log4j system properly.
1. Using the fragement configuration pattern
一个Fragment是一个incomplate的Bundle,没有指定主Bundle是不能单独存在的,他不许附属于一个Host
Bundle. 它可以包含配置信息,classs文件,资源文件,但它不能有自己的Activator类或类加载器。
The host bundle can’t itself be a fragment and must be a full-fledged bundle, even if it relies on its
fragment to add classes or resources. A fragment can serve many purposes, such as completing
its host bundle with specific classes or providing configuration through resources (property or XML
files).
2. SpringDM's extender Export出来的通过Fragment可被修改的值:
(1)spring-osgi-extender.jar Bean Values Exposed for Fragments:见附件spring-osgi-extender.jar
Bean Values Exposed for Fragments.jpg;
(2)spring-osgi-web-extender.jar Bean Values Exposed for Fragments:见附件spring-osgi-web-
extender.jar Bean Values Exposed for Fragments.jpg.
3. 实现Log4jFragment
(1) Fragement目录结构:
log4j-config/
META-INF/
MANIFEST.MF
log4j.properties
(2)MAINFESt.MF文件:
Manifest-Version: 1.0
Fragment-Host: com.springsource.org.apache.log4j
Bundle-Version: 1.0.0
Bundle-Name: Log4J Configuration
Created-By: 1.6.0_13 (Sun Microsystems Inc.)
Bundle-ManifestVersion: 2
Bundle-SymbolicName: com.springsource.org.apache.log4j.config
(3) log4j.properties:
log4j.rootLogger=INFO, FILE
log4j.appender.FILE=org.apache.log4j.FileAppender
log4j.appender.FILE.File=SpringDM.log
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n%M
(4) 打包生成JAR:
在log4j-config上一级目录中执行:
jar cvfm log4j-config.jar log4j-config/META-INF/MANIFEST.MF -C log4j-config 。
生成log4j-config.jar。
4. 安装该Fragement至OSGi 容器
在config.ini文件组中增加:bundles/log/log4j-config.jar
启动容器后,该Bundle的状态为:RESOLVED。
5. 实现启用SpringDM注解功能的Fragment
(1)目录组织结构
SpringDM-Annotation-config/
META-INF/
spring/
extender/
annotation-activator.xml
MANIFEST.MF
(2) MANIFEST.MF文件
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Fragment-Host: org.springframework.bundle.osgi.extender
Bundle-SymbolicName: com.apress.springosgi.ch4.fragment
Bundle-Name: HelloWorld Spring-OSGi Fragment
Bundle-Description: Spring-DM Fragment for activating OSGi annotation scanning
(3) annotation-activator.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="extenderProperties">
<property name="process.annotations" value="true"/>
</bean>
</beans>
- Bean_Values_for_Fragment.rar (250.8 KB)
- 下载次数: 39
发表评论
-
SpringDM笔记31-Testing with OSGi and SpringDM
2011-11-22 10:27 12711. 创建一个SpringDM测试类 SpringD ... -
SpringDM笔记30-OSGi中使用SSL/STL
2011-11-21 11:55 1339SSL:Secure Sockets Layer ... -
SpringDM笔记29-Require-Bundle与Import-Package的区别
2011-11-21 10:31 2272具体可参考:http://www.osgi.org/bl ... -
SpringDM笔记28-OSGi Bundle Activities with Spring-DM
2011-11-17 10:19 1187OSGi框架中也支持搞层次的模块交互:bundles.例如 ... -
SpringDM笔记28-Spring And OSGi:Layers of Integration
2011-11-15 11:00 12011. Application Design:Service和B ... -
SpringDM笔记27-Extending The Stand Extender and Configure
2011-09-02 09:38 8981. -
SpringDM笔记25-Using AJAX frameworks with Spring DM:GWT
2011-09-01 08:53 12251. Using Spring DM with AJAX fr ... -
SpringDM笔记24-Using action-based web frameworks with Spring DM:SpringMVC
2011-08-30 09:33 1507■ Action-based web frameworks ... -
SpringDM笔记23-Using the open EntityManager in view pattern实现延迟加载
2011-08-30 09:27 15861. The open EntityManager in vi ... -
SpringDM笔记22-Transactions Support With SpringDM
2011-08-29 21:24 12421. Spring’s transactional suppo ... -
SpringDM笔记21-Using ORM within OSGi with Spring DM
2011-08-25 10:31 2128Version 1.Object/relational ma ... -
SpringDM笔记20-Using JDBC within OSGi with Spring DM
2011-08-25 09:08 1803The public API for interact ... -
SpringDM笔记19-SpringDM如何处理OSGi应用的动态行为
2011-08-24 08:51 1173ServiceTracker 1. Dealing ... -
SpringDM笔记18-Designing OSGi Enterprise Applications
2011-08-22 11:08 11471. Organizing OSGi components ... -
SpringDM笔记17-Handling Collections of OSGi Services
2011-08-20 09:12 15721.Configuring collections:the l ... -
SpringDM笔记16-处理OSGi服务的动态性:事件
2011-08-19 09:51 18121. Service registration and unr ... -
SpringDM笔记15-通过声明特定的属性注册和引用服务
2011-08-18 11:01 14401. Configuration for registerin ... -
SpringDM笔记14-The thread context classloader 及在OSGi中的运用
2011-08-18 10:40 22751. Using the thread context cla ... -
SpringDM笔记13-OSGi服务注册与引用
2011-08-18 09:28 34821. Combining OSGi services and ... -
SpringDM笔记12-Spring DM’s web Extender运行机制
2011-08-17 11:04 2121SpringDM把一个WAR作为一个Bundle, 其实 ...
相关推荐
然而,随着React的发展,`React.addons.createFragment`在React 16及更高版本中已经不再推荐使用。现在,我们可以使用`React.Fragment`或者简写`<>`和`</>`来达到同样的效果,这既简洁又避免了不必要的DOM节点: ``...
android-fragment学习笔记.pdf
androidx-fragment-1.1.0.aar
6. 混合使用Support Library和原生Fragment时,注意版本兼容问题,确保所有Fragment使用同一版本的库。 通过理解并实践这些动态加载Fragment的知识点,开发者可以构建更适应各种设备屏幕和用户需求的Android应用。
4. **替换Fragment**: - `replace(int containerId, Fragment fragment)`方法会移除当前containerId指定容器中的所有Fragment,然后添加新的Fragment。 5. **隐藏/显示Fragment**: - `hide(Fragment fragment)`...
6. 使用FragmentPagerAdapter或FragmentStatePagerAdapter:在展示多个Fragment的场景下,比如在一个ViewPager中滑动切换Fragment,可以使用这两个Adapter。 7. 嵌套Fragment:一个Fragment中还可以包含其他...
在Android开发中,Fragment是应用程序界面的一个可重用组件,它可以在Activity中承载视图和逻辑,使得在不同屏幕尺寸和设备配置上构建灵活的用户界面成为可能。本压缩包"ch3-Fragment综合案例.rar"提供了一个关于...
4. **Fragment通信** - Fragment与Activity之间的通信通常通过接口或者回调实现,比如当Fragment的状态发生改变时,可以通知Activity。 - Fragment之间通信可以使用EventBus、LocalBroadcastManager或自定义接口,...
在Android应用开发中,Fragment是Android SDK中的一个重要组件,它允许开发者在单个活动中管理和展示多个界面。Fragment动画效果则是提升用户体验、增加应用交互性的一种重要手段。本资源"Android--开发--Fragment...
在提供的NoFragment-master压缩包中,可能包含了实现上述封装的源代码示例。通过查看和学习这些代码,开发者可以更深入地理解如何有效地组织和管理Fragment,以及如何通过封装来提高开发效率。这不仅对初学者有帮助...
标题中的"navigation-keep-fragment-sample"暗示了这是一个关于Android应用程序开发的项目,特别是与导航组件(Navigation Component)和Fragment管理相关的。在这个示例中,开发者可能探讨了如何在使用Android ...
在实现动态添加`Fragment`到`ViewPager`时,我们首先需要定义一个基础的`Fragment`类,这个类通常会继承自`androidx.fragment.app.Fragment`。在这个`Fragment`中,我们将编写页面的具体内容和布局。例如: ```java...
在Android开发中,Fragment是应用程序界面的一个模块化组件,它可以在Activity中承载用户界面元素,使得开发者能够在不同屏幕尺寸和配置上构建灵活的布局。这个"Android高级应用源码-Fragment例子.zip"压缩包提供了...
4. 在PagerAdapter中,根据需求重写相关方法,如`getItem(int position)`返回对应位置的Fragment实例。 5. 配置Adapter,将其设置到ViewPager中,确保Fragment与ViewPager之间的数据绑定正确。 6. 如果遇到运行问题...
android-support-fragment-26.0.0-alpha1.jar
4. onDestroyView():当Fragment的视图被移除时调用,可能是因为Activity被销毁或Fragment被替换。 5. onDetach():当Fragment与Activity解除关联时调用,意味着Fragment将不再与Activity有直接联系。 创建Fragment...
- 为了在不同的Fragment之间传递数据,你可以使用`Bundle`在创建Fragment时传递参数,或者使用`EventBus`、`LiveData`等组件实现事件驱动的通信。 - Activity作为Fragment的容器,可以协调各个Fragment间的交互,...
【标题】:“ToDoList - Fragment - 代码”指的是在Android应用开发中,使用Fragment实现一个待办事项(ToDoList)的经典案例。Fragment是Android SDK中的一个重要组件,它允许开发者在一个活动中展示多个相互独立的...
4. **添加Fragment到Activity**:使用`FragmentManager`和`FragmentTransaction`将Fragment添加到Activity的布局中。每个TabLayout的标签可以关联一个Fragment,当用户点击标签时,`FragmentTransaction`会替换或...