自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

随笔记录-分享&记忆

读书之法,----------------在循序而渐进,-----------熟读而精思 --------朱熹

  • 博客(4)
  • 资源 (99)
  • 收藏
  • 关注

原创 Derby的下载安装和使用,(和JAVA中使用Derby)

首先是Java环境变量要配置:1.打开我的电脑--属性--高级--环境变量 2.新建系统变量JAVA_HOME 和CLASSPATH 变量名:JAVA_HOME 变量值:C:\Program Files\Java\jdk1.7.0变量名:CLASSPATH 变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;3. 选

2013-06-25 14:11:06 18592 2

原创 关于Spring Batch的学习资料分享

自己工作需要,简单学习了Spring batch,现分享下从网络收集的资源,希望对大家有帮助:1:官网址:http://static.springsource.org/spring-batch/index.html2:User Guide:http://static.springsource.org/spring-batch/reference/html/index.html3

2013-06-20 11:33:29 2076

原创 excel数据拆分(符号)

ID,Name,Age,Score将上面的数据,粘贴到Excel一列中,然后选中该列,数据,分列,分隔符号,下一步,其它里面输入“号”,完成即可Data---->>>Text to columns---->>delimited---->>>Next--->>>other (')

2013-06-19 11:23:12 2362

转载 iconv 文件编码转换

linux shell 配置文件中默认的字符集编码为UTF-8 。UTF-8是unicode的一种表达方式,gb2312是和unicode都是字符的编码方式,所以说gb2312跟utf-8的概念应该不是一个层次上的。在LINUX上进行编码转换时,可以利用iconv命令实现,这是针对文件的,即将指定文件从一种编码转换为另一种编码。 查了下iconv命令用法如下:iconv [选项...] [

2013-06-18 17:42:36 1711

prometheus-2.29.2.linux-amd64.tar

prometheus

2021-09-22

thanos-0.22.0.linux-amd64.tar

thanos

2021-09-22

IDC:容器新势力,市场新动力.zip

IDC最新报告:容器新势力,市场新动力

2021-08-15

bookmarks_12_28_20.html

CKA ,考试标签页

2020-12-30

k8s-gcr-io-metrics-server-metrics-server-v0.4.1.rar

k8s.gcr.io/metrics-server/metrics-server:v0.4.1 components.yaml 博客地址:https://blog.csdn.net/shenhonglei1234/category_7260434.html

2020-12-14

gcr-io-distroless-stati.rar

gcr.io/distroless/static:latest,制作k8s.gcr.io/metrics-server/metrics-server:v0.4.1的基础资源

2020-12-14

k8s fundamentals-LFS258-

Kubernetes 基础课程个人笔记整理包含内容:01.课程介绍 02. KUBERNETES的基础 03.安装与配置 04. KUBERNETES 架构 05. API和访问(ACCESS) 06. API对象(API Objects) 07.通过部署管理状态(managing state with deployments) 08.卷和数据(Volumes and Data) 09.服务(services) 10. INGRESS 11.Scheduling 12.记录和故障排除(Logging and Troubleshooting) 13.Custom Resource Definit

2020-12-10

最新三级地址json格式数据

最新三级地址json 格式数据,和京东进行对照同步! 一些省市重新划分导致三级地址不准确或者无法验证,该文件数据是最新的数据同步,可放心下载。

2020-12-03

demo4shl.zip

demo项目war tomcat集成JMX,添加dockerfile,制作镜像images,运行在docker或者k8s上。

2020-05-26

Prometheus+Grafana监控Kubernetes-配套yaml20200524.zip

Prometheus+Grafana监控Kubernetes-配套yaml20200524.zip, 最新资源更新,之前那个版本有个别错误的地方,哎,可惜无法删除

2020-05-24

Prometheus+Grafana监控Kubernetes-配套yaml.zip

Prometheus+Grafana监控Kubernetes-配套yaml.zip grafana.yaml、Kubernetes Pod Resources.json、namespace.yaml、node-exporter.yaml、prometheus.yaml

2020-05-22

OpenShift Container Platform 4.4 迁移

第 1 章 将 OPENSHIFT CONTAINER PLATFORM 3 迁迁移移到到 4 1.1. 关于将 OPENSHIFT CONTAINER PLATFORM 3 迁移到 4 1.2. 规划迁移 1.3. 将应用程序工作负载从 OPENSHIFT CONTAINER PLATFORM 3.7 迁移到 4.4 1.4. 配置复制存储库 1.5. 部署集群应用程序迁移 (CAM) 工具 1.6. 使用 CAM WEB 控制台迁移应用程序 1.7. 使用 CONTROL PLANE MIGRATION ASSISTANT (CPMA) 迁移 CONTROL PLANE 设置 1.8. 故障排除 第 2 章 将 OPENSHIFT CONTAINER PLATFORM 4.1 迁迁移移到到 4.3 2.1. 将应用程序工作负载从 OPENSHIFT CONTAINER PLATFORM 4.1 迁移到 4.4 2.2. 配置复制存储库 2.3. 部署集群应用程序迁移 (CAM) 工具 2.4. 使用 CAM WEB 控制台迁移应用程序 2.5. 故障排除 第 3 章 将 OPENSHIFT CONTAINER PLATFORM 4.2 迁迁移移到到 4.3 3.1. 将应用程序工作负载从 OPENSHIFT CONTAINER PLATFORM 4.2 迁移到 4.4 3.2. 配置复制存储库 3.3. 部署集群应用程序迁移 (CAM) 工具 3.4. 使用 CAM WEB 控制台迁移应用程序 3.5. 故障排除 333791921 26303838404951 56656567767883

2020-05-21

OpenShift Container Platform 4.4 更新集群

第 1 章 在在次次版版本本间更更新新集集群群 1.1. 关于 OPENSHIFT CONTAINER PLATFORM 更新服务 1.2. OPENSHIFT CONTAINER PLATFORM 升级频道和发行版本 1.3. 使用WEB控制台更新集群 第 2 章 通过 WEB 控控制制台台将将集集群群更更新新为一一个个新新的的次次版版本本 2.1. 关于 OPENSHIFT CONTAINER PLATFORM 更新服务 2.2. OPENSHIFT CONTAINER PLATFORM 升级频道和发行版本 2.3. 使用WEB控制台更新集群 第 3 章 使使用用 CLI 将将集集群群更更新新为一一个个新新的的次次版版本本 3.1. 关于 OPENSHIFT CONTAINER PLATFORM 更新服务 3.2. OPENSHIFT CONTAINER PLATFORM 升级频道和发行版本 3.3. 使用 CLI 更新集群 第 4 章 更更新新包包含含使使用用 RHEL 的计算算((COMPUTE))系系统的的集集群群 4.1. 关于 OPENSHIFT CONTAINER PLATFORM 更新服务 4.2. OPENSHIFT CONTAINER PLATFORM 升级频道和发行版本 4.3. 使用WEB控制台更新集群 4.4. (可选)添加 HOOK 以在RHEL系统上执行ANSIBLE任务 4.5. 更新集群中的RHEL COMPUTE 系统 33467779111111 13161617182021

2020-05-21

OpenShift Container Platform 4.4 在 vSphere 上安装

第 1 章 在 VSPHERE 上上安安装装 1.1. 在 VSPHERE 上安装集群 1.2. 使用网络自定义在 VSPHERE 上安装集群 1.3. 在受限网络中的 VSPHERE 上安装集群

2020-05-21

OpenShift_Container_Platform-4.4-Installing_on_bare_metal-zh-CN.pdf

第 1 章 在在裸裸机机上上安安装装 1.1. 在裸机上安装集群 1.2. 使用网络自定义在裸机上安装集群 1.3. 在受限网络中的裸机上安装集群

2020-05-21

OpenShift_Container_Platform-4.4-Architecture-zh-CN.pdf

第 1 章 OPENSHIFT CONTAINER PLATFORM 架构 1.1. OPENSHIFT CONTAINER PLATFORM 简介 第 2 章 安安装装和和更更新新 2.1. OPENSHIFT CONTAINER PLATFORM 安装概述 2.2. 关于 OPENSHIFT CONTAINER PLATFORM 更新服务 2.3. 支持非受管 OPERATOR 的策略 第 3 章 OPENSHIFT CONTAINER PLATFORM CONTROL PLANE 3.1. 了解 OPENSHIFT CONTAINER PLATFORM CONTROL PLANE 第 4 章 了了解解 OPENSHIFT CONTAINER PLATFORM 开发 4.1. 关于容器化应用程序开发 4.2. 构建一个简单容器 4.3. 为 OPENSHIFT CONTAINER PLATFORM 创建 KUBERNETES 清单 4.4. 面向 OPERATOR 进行开发 第 5 章 RED HAT ENTERPRISE LINUX COREOS (RHCOS) 5.1. 关于 RHCOS 5.2. 查看 IGNITION 配置文件 5.3. 安装后更改 IGNITION 配置 33771111 1313171717202223232628

2020-05-21

Introducing Red Hat CodeReady Containers.pdf

Table of Contents 1. Introducing Red Hat CodeReady Containers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.1. About CodeReady Containers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.2. Differences from a production OpenShift installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2. Installation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2.1. Minimum system requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2.1.1. Hardware requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2.1.2. Operating system requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.2. Required software packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.3. Installing CodeReady Containers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.4. Upgrading CodeReady Containers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 3. Using CodeReady Containers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 3.1. Setting up CodeReady Containers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 3.2. Starting the virtual machine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 3.3. Accessing the OpenShift cluster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 3.3.1. Accessing the OpenShift web console . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 3.3.2. Accessing the OpenShift cluster with oc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 3.4. Stopping the virtual machine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 3.5. Deleting the virtual machine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 4. Configuring CodeReady Containers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 4.1. About CodeReady Containers configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 4.2. Viewing CodeReady Containers configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 4.3. Configuring the virtual machine. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 5. Networking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 5.1. DNS configuration details. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 5.1.1. General DNS setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 5.1.2. Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 5.1.3. macOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 5.2. Starting CodeReady Containers behind a proxy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 6. Administrative tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 6.1. Starting Monitoring, Alerting, and Telemetry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 7. Troubleshooting Red Hat CodeReady Containers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 7.1. Basic troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 7.2. Getting shell access to the OpenShift cluster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 7.3. Troubleshooting expired certifi

2020-05-21

demo4shl.war

博客配套资源包下载,demo4shl.war,kubernetes的Container&initContainer

2020-05-21

eudic-Version 3.9.1 (1032).zip

官方网站 www.eudic.net Icon Design by VIRUS 《欧路词典》是共享软件,您可以通过Internet传播。但通过其它途径传播该软件时,必须事先通过我们许可。《欧路词典》作为共享软件,将收取一定的注册费,以供我们进行软件的后续开发,但这不意味注册用户拥有辞典数据的版权。

2019-08-08

OpenShift_Container_Platform-3.4-REST_API_Reference-en-US.pdf

OpenShift_Container_Platform-3.4-REST_API_Reference-en-US.pdf REST API Reference Overview Examples /api/v1 /apis/v1 /apis/apps/v1beta1 /apis/autoscaling/v1 /apis/batch/v1 /apis/batch/v2alpha1 /apis/extensions/v1beta1 /apis/policy/v1beta1 /apis/authentication.k8s.io/v1 /apis/authentication.k8s.io/v1beta1 /apis/authorization.k8s.io/v1 /apis/authorization.k8s.io/v1beta1 /apis/rbac.authorization.k8s.io/v1beta1 /apis/certificates.k8s.io/v1beta1 /apis/networking.k8s.io/v1 /apis/storage.k8s.io/v1 /apis/storage.k8s.io/v1beta1 /apis/apps.openshift.io/v1 /apis/authorization.openshift.io/v1 /apis/build.openshift.io/v1 /apis/image.openshift.io/v1 /apis/network.openshift.io/v1 /apis/oauth.openshift.io/v1 v1.OAuthAccessToken v1.OAuthAuthorizeToken v1.OAuthClient v1.OAuthClientAuthorization /apis/project.openshift.io/v1 /apis/quota.openshift.io/v1 /apis/route.openshift.io/v1 /apis/security.openshift.io/v1 /apis/template.openshift.io/v1 /apis/user.openshift.io/v1 /oapi/v1

2019-07-25

mac net.downloadhelper.coapp-1.3.0.zip

net.downloadhelper.coapp-1.3.0.pkg mac使用方法: 1.先在chorme中安装插件Video DownloadHelper 7.3.7.0 2.再下载这个coapp,就可以直接下载使用。 安装成功后显示: Found companion app: VdhCoApp 1.3.0 Companion app binary: /Applications/net.downloadhelper.coapp.app/Contents/MacOS/bin/net.downloadhelper.coapp-mac-64

2019-07-24

Red_Hat_CloudForms-4.5

Red_Hat_CloudForms-4.5-Red_Hat_CloudForms_REST_API-en-US.

2017-09-08

Alfresco文档管理系统

1 Alfresco基础功能操作 4 1.1 Alfresco概览 4 1.2 定制你的Alfresco仪表板 5 1.3 更新你的ALFRESCO档案 5 1.4 设置你的ALFRESCO主页 5 1.5 创建ALFRESCO站点 5 1.6 加入或离开一个ALFRESCO站点 5 1.7 定制站点仪表板 6 1.8 添加ALFRESCO站点功能 6 1.9 拖拽方式上传文件夹 -- (NEW) 6 1.10 添加内容到ALFRESCO 6 1.11 在ALFRESCO中创建内容 6 1.12 离线编辑文件 6 1.13 在AFRESCO中寻找文件 6 1.14 在ALFRESCO中预览文件 7 1.15 版本化文件 7 1.16 在ALFRESCO中创建规则 7 1.17 创建用户 7 1.18 创建用户组 7 1.19 添加用户到站点 7 1.20 ALFRESCO站点管理员 7 1.21 在ALFRESCO中创建任务 8 1.22 ALFRESCO搜索管理器 8 1.23 使用模型管理器创建模型 8 1.24 使用模型 8 2 功能说明 8 2.1 仪表盘 8 2.2 站点管理 8 2.3 文档管理 9 2.3.1 新增文档 10 2.3.2 编辑文档 10 2.3.3 删除文档 12 2.3.4 检索文档 12 2.4 文件夹管理 13 2.4.1 创建文件夹 14 2.4.2 文件夹规则 14 2.4.3 删除文件夹 16 2.5 用户和用户组管理 16 2.5.1 创建用户和组 16 2.5.2 修改用户信息 18 2.5.3 人员检索 18 2.5.4 用户组管理、邀请用户和删除用户 19 2.6 权限管理功能 19 2.6.1 角色 19 2.6.2 权限管理 19 2.7 文档的版本管理 20 2.7.1 查看历史版本 20 2.7.2 版本信息管理 21

2017-06-12

Activiti+5.4中文文档_IT168文库

Activiti+5.4中文文档_IT168文库

2017-03-23

ActivitiDeveloperQuickStart Quick Start Guide

Activiti-Quick Start Guide- ActivitiDeveloperQuickStart 下载导入就可以运行 配置个Mysql,运行成功,会自动创建25张表。 其它不用动。

2017-03-23

OpenShift官方教程,内有原文连接

Environment Overview 1 Lab: Installing the OpenShift CLI 2 Lab: Exploring the CLI and Web Console 5 Lab: Deploy a Docker Image 8 Lab: Scaling and Self Healing 14 Lab:CreatingRoutes by Exposing Services 18 ......

2017-03-22

LDAP安装说明-配合博客使用

LDAP安装说明-配合博客使用

2017-03-21

Alfresco5.1图文说明安装

Alfresco5.1图文说明安装

2017-03-15

java项目开发文档和源代码

java项目开发文档和源代码

2016-11-21

17位车架号详解、完整版本、VIN号

l 车架号(VIN码) l VIN码详解 第1位:生产国家代码 第2位:汽车制造商代码 第3位:汽车类型代码 第4~8位(vds)车辆特征 第9位:校验位 第10位:车型年款 第11位:装配厂 第12~17位:顺序号 l 举几个例子

2016-11-09

Java实现的23种设计模式

用Java实现的23种设计模式,完整的代码。

2016-08-07

Java-NIO-系列教程

Java-NIO-系列教程

2016-05-26

Openjpa2.2+Mysql+Maven+Servlet+JSP source code

Openjpa2.2+Mysql+Maven+Servlet+JSP 博客源码: http://blog.csdn.net/shenhonglei1234/article/details/10394379

2013-08-27

openjpa openbooks database script

http://blog.csdn.net/shenhonglei1234/article/details/10352367 openjpa框架入门_项目框架搭建(二) Openjpa2.2+Mysql+Maven+Servlet+JSP

2013-08-27

JAVA反编译

JAVA反编译,DJ Java Decompiler v3.12.12.96 "Second Cup" java.decompiler http://java.decompiler.free.fr/

2013-08-13

Spring-batch Demo

Spring Batch流程介绍: 每个Batch都会包含一个Job。Job就像一个容器,这个容器里装了若干Step,Batch中实际干活的也就是这些Step,至于Step干什么活,无外乎读取数据,处理数据,然后将这些数据存储起来(IconvItemReader用来读取数据,IconvItemProcessor用来处理数据,IconvItemWriter用来写数据) 。JobLaunch用来启动Job,JobRepository是上述处理提供的一种持久化机制,它为JobLauncher,Job,和Step实例提供CRUD操作。 外部控制器调用JobLauncher启动一个Job,Job调用自己的Step去实现对数据的操作,Step处理完成后,再将处理结果一步步返回给上一层,这就是Batch处理实现的一个简单流程。

2013-06-20

OSGI in Action SourceCode(完整版电子书已经上传)

OSGi in Action Creating Modular Applications in Java Richard S. Hall, Karl Pauls, Stuart McCulloch, and David Savage Foreword by Peter Kriens April, 2011 | 576 pages ISBN 1933988916 $49.99 Softbound print book - (includes free ebook) $39.99 Ebook in PDF, epub and Kindle—your purchase includes all three formats! Browse all our mobile format ebooks. Resources Look Inside Preface About this book Table of Contents Foreword Index

2013-05-22

OSGI in Action

brief contents PART 1 INTRODUCING OSGI: MODULARITY, LIFECYCLE, AND SERVICES 1 1 ■ OSGi revealed 3 2 ■ Mastering modularity 24 3 ■ Learning lifecycle 69 4 ■ Studying services 117 5 ■ Delving deeper into modularity 154 PART 2 OSGI IN PRACTICE .......................................................189 6 ■ Moving toward bundles 191 7 ■ Testing applications 230 8 ■ Debugging applications 258 9 ■ Managing bundles 292 10 ■ Managing applications 319 PART 3 ADVANCED TOPICS ........................................................343 11 ■ Component models and frameworks 345 12 ■ Advanced component frameworks 373 vi BRIEF CONTENTS 13 ■ Launching and embedding an OSGi framework 412 14 ■ Securing your applications 438 15 ■ Web applications and web services 477 vii contents foreword xiv preface xvii acknowledgments xix about this book xx about the authors xxv PART 1 INTRODUCING OSGI: MODULARITY, LIFECYCLE, AND SERVICES ......................................................1 1 OSGi revealed 3 1.1 The what and why of OSGi 4 Java’s modularity limitations 5 ■ Can OSGi help you? 8 1.2 An architectural overview of OSGi 9 The OSGi framework 9 ■ Putting it all together 12 1.3 “Hello, world!” examples 12 Module layer example 12 ■ Lifecycle layer example 14 ■ Service layer example 16 ■ Setting the stage 18 viii CONTENTS 1.4 Putting OSGi in context 19 Java Enterprise Edition 19 ■ Jini 20 ■ NetBeans 20 ■ Java Management Extensions 20 ■ Lightweight containers 21 ■ Java Business Integration 21 ■ JSR 277 21 ■ JSR 294 22 ■ Service Component Architecture 22 ■ .NET 22 1.5 Summary 23 2 Mastering modularity 24 2.1 What is modularity? 25 Modularity vs. object orientation 25 2.2 Why modularize? 27 2.3 Modularizing a simple paint program 28 2.4 Introducing bundles 31 The bundle’s role in physical modularity 32 ■ The bundle’s role in logical modularity 33 2.5 Defining bundles with metadata 34 Human-readable information 35 ■ Bundle identification 36 Code visibility 39 ■ Class-search order 48 2.6 Finalizing the paint program design 50 Improving the paint program’s modularization 51 ■ Launching the new paint program 52 2.7 OSGi dependency resolution 53 Resolving dependencies automatically 53 ■ Ensuring consistency with uses constraints 59 2.8 Reviewing the benefits of the modular paint program 64 2.9 Summary 68 3 Learning lifecycle 69 3.1 Introducing lifecycle management 70 What is lifecycle management? 70 ■ Why lifecycle management? 72 3.2 OSGi bundle lifecycle 72 Introducing lifecycle to the paint program 73 ■ The OSGi framework’s role in the lifecycle 75 ■ The bundle activator manifest entry 76 ■ Introducing the lifecycle API 77 ■ Lifecycle state diagram 83 ■ Bundle cache and framework restarts 84 3.3 Using the lifecycle API in your bundles 85 Configuring bundles 86 ■ Deploying bundles 88 ■ Inspecting framework state 92 ■ Persisting bundle state 93 ■ Listening for events 96 ■ Bundle suicide 99 CONTENTS ix 3.4 Dynamically extending the paint program 101 3.5 Lifecycle and modularity 108 Resolving bundles 108 ■ Refreshing bundles 110 ■ When updating isn’t updated 114 3.6 Summary 115 4 Studying services 117 4.1 The what, why, and when of services 118 What is a service? 118 ■ Why use services? 119 ■ When to use services 123 ■ When not to use services 124 ■ Still not sure? 124 4.2 OSGi services in action 125 Publishing a service 126 ■ Finding and binding services 128 4.3 Dealing with dynamics 132 Avoiding common pitfalls 133 ■ Listening for services 136 Tracking services 141 4.4 Using services in the paint example 143 Defining a shape service 144 ■ Publishing a shape service 144 Tracking shape services 145 4.5 Relating services to modularity and lifecycle 146 Why can’t I see my service? 147 ■ Can I provide a bundle-specific service? 147 ■ When should I unget a service? 148 ■ When should I unregister my service? 148 ■ Should I bundle interfaces separately? 149 4.6 Standard services 149 Core services 150 ■ Compendium services 151 4.7 Summary 152 5 Delving deeper into modularity 154 5.1 Managing your exports 155 Importing your exports 155 ■ Implicit export attributes 158 Mandatory export attributes 160 ■ Export filtering 161 Duplicate exports 162 5.2 Loosening your imports 164 Optional imports 164 ■ Dynamic imports 165 ■ Optional vs. dynamic imports 166 ■ Logging example 167 5.3 Requiring bundles 171 Declaring bundle dependencies 171 ■ Aggregating split packages 173 ■ Issues with bundle dependencies 176 x CONTENTS 5.4 Dividing bundles into fragments 177 Understanding fragments 177 ■ Using fragments for localization 180 5.5 Dealing with your environment 183 Requiring execution environments 184 ■ Bundling native libraries 185 5.6 Summary 187 PART 2 OSGI IN PRACTICE...........................................189 6 Moving toward bundles 191 6.1 Turning JARs into bundles 192 Choosing an identity 192 ■ Exporting packages 195 Discovering what to import 199 ■ Embedding vs. importing 203 Adding lifecycle support 204 ■ JAR file to bundle cheat sheet 205 6.2 Splitting an application into bundles 206 Making a mega bundle 206 ■ Slicing code into bundles 216 Loosening things up 221 ■ To bundle or not to bundle? 226 6.3 Summary 229 7 Testing applications 230 7.1 Migrating tests to OSGi 231 In-container testing 231 ■ Bundling tests 232 ■ Covering all the bases 235 7.2 Mocking OSGi 237 Testing expected behavior 237 ■ Mocking in action 238 Mocking unexpected situations 240 ■ Coping with multithreaded tests 241 ■ Exposing race conditions 243 7.3 Advanced OSGi testing 244 OSGi test tools 245 ■ Running tests on multiple frameworks 246 Unit testing 250 ■ Integration testing 251 ■ Management testing 254 7.4 Summary 257 8 Debugging applications 258 8.1 Debugging bundles 259 Debugging in action 261 ■ Making things right with HotSwap 266 CONTENTS xi 8.2 Solving class-loading issues 271 ClassNotFoundException vs. NoClassDefFoundError 272 ■ Casting problems 274 ■ Using uses constraints 275 ■ Staying clear of Class.forName() 278 ■ Following the Thread Context Class Loader 280 8.3 Tracking down memory leaks 283 Analyzing OSGi heap dumps 283 8.4 Dangling services 287 Finding a dangling service 287 ■ Protecting against dangling services 288 8.5 Summary 290 9 Managing bundles 292 9.1 Versioning packages and bundles 293 Meaningful versioning 293 ■ Package versioning 295 Bundle versioning 297 9.2 Configuring bundles 299 Configuration Admin Service 299 ■ Metatype Service 309 Preferences Service 312 9.3 Starting bundles lazily 314 Understanding activation policies 315 ■ Using activation policies 316 9.4 Summary 317 10 Managing applications 319 10.1 Deploying bundles 320 Introducing management agents 320 ■ OSGi Bundle Repository 321 Deployment Admin 330 10.2 Ordering bundle activation 337 Introducing the Start Level Service 338 ■ Using the Start Level Service 339 10.3 Summary 342 PART 3 ADVANCED TOPICS ............................................343 11 Component models and frameworks 345 11.1 Understanding component orientation 346 What are components? 346 ■ Why do we want components? 348 xii CONTENTS 11.2 OSGi and components 349 OSGi’s service-oriented component model 349 ■ Improving upon OSGi’s component model 351 ■ Painting with components 355 11.3 Declarative Services 355 Building Declarative Services components 356 ■ Providing services with Declarative Services 357 ■ Consuming services with Declarative Services 359 ■ Declarative Services component lifecycle 364 11.4 Summary 371 12 Advanced component frameworks 373 12.1 Blueprint Container 374 Blueprint architecture 374 ■ Providing services with Blueprint 375 Consuming services with Blueprint 378 ■ Blueprint component lifecycle 382 ■ Advanced Blueprint features 387 12.2 Apache Felix iPOJO 391 Building iPOJO components 392 ■ Providing services with iPOJO 393 Consuming services with iPOJO 395 ■ iPOJO component lifecycle 400 ■ Instantiating components with iPOJO 404 12.3 Mix and match 408 12.4 Summary 411 13 Launching and embedding an OSGi framework 412 13.1 Standard launching and embedding 413 Framework API overview 413 ■ Creating a framework instance 415 ■ Configuring a framework 417 ■ Starting a framework instance 419 ■ Stopping a framework instance 420 13.2 Launching the framework 421 Determining which bundles to install 422 ■ Shutting down cleanly 422 ■ Configuring, creating, and starting the framework 423 Installing the bundles 424 ■ Starting the bundles 424 ■ Starting the main bundle 425 ■ Waiting for shutdown 426 13.3 Embedding the framework 427 Inside vs. outside 427 ■ Who’s in control? 431 ■ Embedded framework example 432 13.4 Summary 437 14 Securing your applications 438 14.1 To secure or not to secure 439 CONTENTS xiii 14.2 Security: just do it 440 Java and OSGi security 440 14.3 OSGi-specific permissions 444 PackagePermission 444 ■ BundlePermission 445 ■ Admin- Permission 446 ■ ServicePermission 447 ■ Relative file permissions 448 14.4 Managing permissions with Conditional Permission Admin 449 Conditional permissions 449 ■ Introducing the Conditional Permission Admin Service 450 ■ Bundle location condition 451 Using ConditionalPermissionAdmin 452 ■ Implementing a policy-file reader 456 14.5 Digitally signed bundles 457 Learning the terminology 458 ■ Creating certificates and signing bundles 458 ■ BundleSignerCondition 461 14.6 Local permissions 464 14.7 Advanced permission management 465 Custom conditions overview 465 ■ Date-based condition 466 User-input condition 467 14.8 Bringing it all back home 471 14.9 Summary 475 15 Web applications and web services 477 15.1 Creating web applications 478 Using the HTTP Service specification 479 ■ Using the Web Applications specification 488 ■ Standard WARs: the Web URL Handler 492 15.2 Providing and consuming web services 493 Providing a web service 494 ■ Consuming a web service 499 Distributing services 502 15.3 Summary 510 appendix A Building bundles 513 appendix B OSGi standard services 528 index 531

2013-05-22

简单的树形菜单

一个简单的树形菜单,其它样式和js是分开的,可以自由修改成自己想要的。 我是在网上找到的,自己用着很好,分享给大家。

2013-02-05

VFP简单初级入门教程.rar

VFP简单初级入门教程.rar

2012-11-05

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除