`
sswh
  • 浏览: 163839 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论
文章列表

Maven故障排查

最近在使用pinpoint-2.7,在调试某些模块源码时,发现在Maven-Install步骤总是会失败。 但Maven的错误提示语焉不详。例如下面: [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.5.1:testCompile (default-testCompile) on project pinpoint-bootstrap: Compilation failure -> [Help 1] [ERROR] [ERROR] To see the full st ...

证书制作

    博客分类:
  • java
使用bouncycastle库来制作证书(包括一个自签名证书和为他人签发证书)。 <dependency> <groupId>org.bouncycastle</groupId> <artifactId>bcpkix-jdk15on</artifactId> <version>1.54</version> </dependency>   import java.io.ByteArrayInputStream; import java.io.FileOutputStream; ...
JAR文件数字签名后在META-INF下产生两个文件,以JCE Unlimited 6为例,两个文件为JCE_RSA.SF文件和JCE_RSA.RSA文件。 jce_policy-6文件下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jce-6-download-429243.html   JCE_RSA.SF文件是对MANIFEST.MF文件的消息摘要; JCE_RSA.RSA文件是对JCE_RSA.SF文件进行数字签名后的结果,签名文件内容遵循加密消息语法标准PKCS#7,按DER进行编码。   DER格 ...
最近发现项目会出现AppCrash问题。   经过同事提供的AppCrash的线索(和日志相关),经过定位、剥离无关影响因素, 最后得到最基本的代码如下:   public static void main(String[] args) throws Exception { byte[] bs = new byte[63000]; for (int i = 0; i < bs.length; i++) { bs[i] = (byte) i; } System.out.write(("写入" + bs.length + "字节 ...
Karaf在Eclispe中的启动环境   主要内容: 1、解决jline在Eclipse中的输入问题; 2、方便Eclipse这启动和调试;不用开远程调试端口了。   如果自己修改过本地Maven仓库路径的话,在etc/org.ops4j.pax.url.mvn.cfg文件中, 修改org.ops4j.pax.url.mvn.settings参数指向新的settings.xml文件路径。 缺省的话,在${user.home}/.m2/settings.xml下寻找。   初次启动会比较慢,因为需要从Maven仓库下载缺省安装的几个Feature的JAR文件。   K ...
最近用到karaf,而karaf的控制台使用了jline处理控制台输入。 在Eclipse下运行时,控制台无法接受输入,输入命令、回车,系统没反应。   原因是在通过JNI调用本地WindowsAPI时,本地的private static final native int ReadConsoleInputW()方法返回了非预期的值。导致控制台读取部分实际上处于死循环状态。   解决方法:设置系统属性jline.WindowsTerminal.directConsole为false。 (绕过本地库Windows API调用,直接使用Java IO流读取输入) 主要参考了:http ...
以下转自Jdon,以备忘。http://www.jdon.com/15361   学习使用 Manifest简化Java应用程序的打包和发布 发布Java应用程序时你会感到困难?好在Java提供了一系列打包和发布工具,可以显著的简化发布过程 该文章提供了打包Java code的几种方法,我们将会探讨Java manifest 文件,给出用于管理JAR文件所依赖文件、估计跨平台发布所需的CLasspath的合适方法.我也会解释如何使用manifest包版本特性来确认包的兼容性...什么是JAR文件? 在开发过程中,我们可以直接使用Java class文件来运行程序,但这并不是一个好方式,好在 ...
Felix框架中当注册新的服务时,会遍历触发所有满足条件的服务监听器。如果系统中存在大量服务监听器时,新服务的注册性能明显下降。实测数据,当服务监听器数量达到接近4000个时,新注册300个服务,耗时将近20秒(CPU:i3双核,4G内存)。----------如果系统使用Felix,组件框架使用ipojo,可能会产生这样的情况。ipojo的机制,每声明一个Component/Instance,每增加一个@Require/Bind(即对其他服务的依赖),都会产生新的服务监听器,从而导致系统内存在大量的服务监听器。这些服务监听器的过滤表达式通常稍微复杂,例如:(&(objectclass ...

Require-Bundle的缺点

    博客分类:
  • OSGi
原文引用自:http://blog.csdn.net/vking_wang/article/details/13240715   Require-Bundle的缺点   1、不知道究竟导入了哪些包 我们不知道究竟导入了哪些包,在不同版本中导入的包可能不同;   2、导出包的bundle重构后,会影响导入bundle 如果bundleA日渐臃肿,打算将其分拆成两个bundle。如果使用Import-Package,则仍能正常工作: 但是如果使用Require-Bundle,则新的bundle不会被bundleB导入;可能会抛出NoClassDefFoundErrors。   ...
一段涂鸦代码:简易的Felix启动:   public static void main(String[] args) throws Exception { Map<String, String> properties = new HashMap<String, String>(); // 仅仅调试用,为了在调试模块访问felix.framework包 properties.put(Constants.FRAMEWORK_SYSTEMPACKAGES_EXTRA,// "org.apache.felix.framework"/ ...

140716_OSGi规范概览

    博客分类:
  • OSGi
OSGi R5规范概览 R5的规范包括3个部分: OSGi Core Release 5 Specification  核心规范 OSGi Enterprise Release 5 Specification  企业规范 OSGi Compendium Release 5 Specification 
开篇 OSGi运行环境和参考资料:   参考资料: OSGi联盟的官方站点:http://www.osgi.org/Specifications/HomePage 这儿可以找到OSGi规范的英文版本,以及OSGi规范的API。   OSGi R5中文版:CSDN 不才的专栏正在翻译: http://blog.csdn.net/wzumath/article/category/1936125   OSGi R4中文版:网上有范里程翻译,曹晓钢审校的版本   OSGi中文社区也是不错的参考:http://osgi.com.cn/   运行框架
通知消息(Advisory Message) 简单的说就是实现了ActiveMQ的broker上各种操作的记录跟踪和通知。 使用这个功能,你可以实时的知道broker上
从队列中接收消息 public static void testReceive() throws Exception {     ConnectionFactory factory = new ActiveMQConnectionFactory("tcp://localhost:61616");     Connection connection = factory.createConnection();     connection.start();
发送消息到队列中 ActiveMQ客户端最小依赖JAR包:  public static void testSend() throws Exception {
Global site tag (gtag.js) - Google Analytics