小编xco*_*ist的帖子

获取OSGi包上下文的最佳技术?

我的OSGi项目中的每个包都有它自己的BundleActivator,我认为这是正常的.这会传递当前的BundleContext,这对于获取服务引用和诸如此类的东西很有用.

但是,从我的bundle中的类,我如何获得BundleContext?将它分配给BundleActivator中的公共静态字段很糟糕,并将其作为参数传递也很糟糕.有更智能的方式吗?

java osgi

35
推荐指数
3
解决办法
3万
查看次数

使用maven-shade-plugin时出现多余的警告

我正在使用maven-shade-plugin进行简单的maven项目,该插件成功地将所有依赖项包含在最终的"阴影"jar中.这个过程每次都很有效,可以完全满足我的需求.

当运行"第一"时间(在a之后clean)时,插件是安静的并且产生非常少的输出.但是,当重新运行时(没有clean来自上一次构建),有很多警告消息,例如;

[WARNING] We have a duplicate package/a/b/foo.class
[WARNING] We have a duplicate package/c/d/bar.class
Run Code Online (Sandbox Code Playgroud)

这只是警告消息,最终的工件工作正常.

我的问题很简单:如何安全地解决或抑制这些警告消息而不必先运行clean


注意:一个可能的解决方案是转移到maven-assembly-plugin,但我不愿意,因为maven-shade-plugin的配置非常简单.

java maven maven-shade-plugin

13
推荐指数
1
解决办法
4626
查看次数

如何定义OSGi包的起始级别?

如何定义OSGi包的起始级别?

我正在使用Apache felix,并希望在框架执行中保持启动级别.我预计不需要在Manifest.MF的所有条目中非常频繁地更改捆绑的起始级别.MF似乎是最明智的.我要去org.osgi.framework.startlevel,但还没有看到一个实际的例子.

我也在使用maven和maven-bundle-plugin,如果有一种优雅的方式将POM中的起始级别合并到一起就很棒.

java osgi

12
推荐指数
2
解决办法
2万
查看次数

当使用Boost ASIO时,有效负载分配两个TCP数据包,当它适合MTU时

我有一个boost :: asio :: ip :: tcp :: iostream的问题.我试图发送大约20个原始字节.问题是这个20字节的有效载荷被分成两个TCP数据包,其中包含1个字节,然后是19个字节.简单的问题,为什么会发生我不知道.我正在为传统的二进制协议写这个,非常需要有效载荷适合单个TCP数据包(呻吟).

从我的程序中粘贴整个源代码将是漫长而过于复杂的,我在这里发布了两个函数中的功能问题(经过测试,它确实重现了这个问题);

#include <iostream>

// BEGIN cygwin nastyness
// The following macros and conditions are to address a Boost compile
// issue on cygwin. https://svn.boost.org/trac/boost/ticket/4816
//
/// 1st issue
#include <boost/asio/detail/pipe_select_interrupter.hpp>

/// 2nd issue
#ifdef __CYGWIN__
#include <termios.h>
#ifdef cfgetospeed
#define __cfgetospeed__impl(tp) cfgetospeed(tp)
#undef cfgetospeed
inline speed_t cfgetospeed(const struct termios *tp)
{
    return __cfgetospeed__impl(tp);
}
#undef __cfgetospeed__impl
#endif /// cfgetospeed is a macro

/// 3rd issue
#undef __CYGWIN__
#include <boost/asio/detail/buffer_sequence_adapter.hpp>
#define __CYGWIN__ …
Run Code Online (Sandbox Code Playgroud)

c++ boost tcp boost-asio

9
推荐指数
2
解决办法
2311
查看次数

用CSS包装盒子

我正在尝试用CSS布局解决经典的盒子包装/背包问题.

我希望以最小化元素之间空白的方式排列许多盒子,就像这样;

图像描述了我想要实现的目标http://tydus.net/img/xaZll.png

CSS3列在这里工作非常好 - 盒子按顺序排列,但所有空白空间都被有效地消耗.有一个很小的问题 - 盒子被"剪切",或跨越多个列.不能这样做.

我在一些方框之后使用了经典的div.clearer,但这没有效果 - 盒子仍然跨越那些CSS3列.有一个列跨度CSS属性,但它在任何浏览器中都不受支持;(

或者,我可以自己定义列并手动排列框,但实际上框很常改变高度.

最后一个问题:有没有办法以最小化使用纯CSS的盒子之间的空白来安排盒子?

谢谢!

css

8
推荐指数
1
解决办法
1046
查看次数

在扇出交换机上等待所有rabbitmq响应?

ex_foo为RPC工作负载配置了一个名为" " 的rabbitmq扇出交换.当客户端连接到服务器时,它们会创建自己的非持久RPC接收队列,并使用BasicConsumer连接到它.应用程序侦听消息/命令并响应reply_to请求部分中定义的队列.

我发送扇出交换的简单消息/命令之一(因此,连接到它的每个应用程序/客户端)都是一种ping请求消息,我的问题是我不知道有多少ping响应我会得到(或应该期待),因为我不知道有多少客户端在任何时候连接到扇出交换机.连接到扇出交换的所有客户都应该回复.

如果在扇出交换机上传送到10个队列(即:连接了10个客户端),我怎么知道有多少响应?为了知道这一点,我是否必须知道交付了多少次?有没有更复杂的睡眠计时器?简单地说,我的管理工具不能无限期地等待,并且在收到所有ping(或超时已经过去)之后需要退出.

amqp rabbitmq

4
推荐指数
1
解决办法
1413
查看次数

标签 统计

java ×3

osgi ×2

amqp ×1

boost ×1

boost-asio ×1

c++ ×1

css ×1

maven ×1

maven-shade-plugin ×1

rabbitmq ×1

tcp ×1