小编Dew*_*wfy的帖子

OSGi强制捆绑包以不同的配置启动两次

我在我的应用程序中使用嵌入式Felix.应用程序可能会处理暴露类似接口的大量插件IFoo.默认情况下,实现FooImpl希望大多数插件默认FooImpl可以与特定配置文件一起使用.

我希望FooImpl在出现新配置文件时动态安装并启动相同的bundle(with ).我已经审查过FileInstall,但不知道如何在那里应用它.

更新:部署顺序.jar包含FooImplIFoo稳定,但我需要热部署新的实例,这些实例是将新的.cfg文件上传到FileInstall的范围.所以非常简单 - 用户上传.cfg,新服务(实例FooImpl)出现了.

osgi apache-felix

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

Python C++扩展中的继承

我有c ++库需要与插入模块的Python进行通信.通信假设通过Python实现一些回调c ++接口.

我已经阅读过有关编写扩展的内容,但不知道如何开发继承.

所以关于:C++:

class Broadcast
{
   void set(Listener *){...
}

class Listener
{
    void notify(Broadcast* owner) = 0;
}
Run Code Online (Sandbox Code Playgroud)

我需要像Python这样的东西:

class ListenerImpl(Listener):
    ...
    def notify(self, owner):
        ...
Run Code Online (Sandbox Code Playgroud)

注意,我不想使用Boost.

c++ python

3
推荐指数
2
解决办法
2389
查看次数

没有关系的JPA OUTER JOIN

我需要OUTER JOIN在JPA中由两个实体组成(说出主要,详细信息),但是这个问题是在实体级别上没有关系(并且我不想添加它)。

@Entity
class Master
{
    @Column(name="altKey")
    Integer altKey;
}

@Entity
class Detail
{
    @Column(name="altKeyRef")
    @Basic (optional = true)
    Integer altKeyRef;
}
Run Code Online (Sandbox Code Playgroud)
SELECT m, d FROM Master m OUTER JOIN ????? d.altKeyRef = m.altKey
Run Code Online (Sandbox Code Playgroud)

jpa outer-join

3
推荐指数
1
解决办法
3468
查看次数

Azure API Manager公开所有公开,摆脱Ocp-Apim-Subscription-Key

我有一些通过Azure API Management代理的REST API.出于某种原因,我想让所有请求公开.从开发人员的角度来看,我想摆脱标题(或请求)中的设置键:

Ocp-Apim-Subscription-Key: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Run Code Online (Sandbox Code Playgroud)

它有可能吗?

rest azure-api-management

3
推荐指数
1
解决办法
1940
查看次数

MSVC ++ 17 std :: copy期望“ operator-”用于自定义迭代器

我将项目从VC ++ 2015迁移到VC ++2017。我有自己的迭代器实现。它设置了只进操作:

template <class Container>
struct NodeTableIterator
{
    typedef NodeTableIterator<Container> this_t;
    this_t& operator ++();
    this_t operator ++(int);
};
Run Code Online (Sandbox Code Playgroud)

我在代码中的某个地方使用它 std::copy

std::copy(tbl.begin(), tbl.end(),
        std::ostream_iterator<int>(std::cout, ", "));    
Run Code Online (Sandbox Code Playgroud)

这条线在VC ++ 2015中完美工作,但在2017年失败,原因仅在于:

错误C2784:'未知类型的std :: operator-(const std :: move_iterator <_RanIt>&,const std :: move_iterator <_RanIt2>&)':无法推导'const std :: move_iterator <_RanIt>的模板参数&”(来自“ const NodeTableIterator ...”)

内部简单检查即可std::copy显示此错误源:

    const auto _UDest = _Unchecked_n(_Dest, _Idl_distance<_InIt>(_UFirst, _ULast));
Run Code Online (Sandbox Code Playgroud)

_Idl_distance真正期望我的迭代器应支持的位置operator -。您知道如何克服这种奇怪的要求吗?

c++ stl c++14

3
推荐指数
1
解决办法
69
查看次数

g ++外部引用错误

我有在g ++上重现的问题.VC++不会遇到任何问题.所以我有2个cpp文件:

1.cpp:

#include <string>
#include <iostream>

extern const std::string QWERTY;

int main()
{
    std::cout << QWERTY.c_str() << std::endl;

}
Run Code Online (Sandbox Code Playgroud)

2.cpp:

#include <string>
const std::string QWERTY("qwerty");
Run Code Online (Sandbox Code Playgroud)

没有魔法,我只想将字符串常量放入分隔文件中.在链接时ld产生一个错误:"未定义引用`_QWERTY'"第一个想法将两个声明包装成"extern"C"" - 没有帮助.错误和非c ++ _QWERTY仍然存在.

在此先感谢您的任何建议

c++ g++ declaration extern

2
推荐指数
1
解决办法
1596
查看次数

Boost Python示例失败了两次

我是否一个人试图使用以下组合:boost_1_45_0,MSVC 10,Python31?

我发现来自boost的基本样本(boost_1_45_0\libs\python\example\quickstart\embedding.cpp)既没有编译(我发现如何修复它,见下文)也没有工作.编译时间问题:

if (PyImport_AppendInittab("embedded_hello", initembedded_hello) == -1)
  throw std::runtime_error("Failed to add embedded_hello to the interpreter's "
             "builtin modules");
Run Code Online (Sandbox Code Playgroud)

我发现正确的名称不是initembedded_hello而是init_module_embedded_hello.所以我的第一个问题是我对这个重命名是对的吗?

第二个问题是SystemError: NULL result without error in PyObject_Call导入我声明的模块时:

from embedded_hello import *
Run Code Online (Sandbox Code Playgroud)

注释掉导入显示内部python的模块(如io)工作正常.那么第二个问题是导入的问题是什么?

任何帮助,将不胜感激!

visual-studio-2010 boost-python python-3.x

2
推荐指数
1
解决办法
1213
查看次数

Kurento在node.js中记录调用者和被调用者流

我正在使用kurento将流记录到服务器磁盘.我在这里更改了kurento教程, 其中更改了node.js中的教程hello-world以将流记录到磁盘.现在我要做的是更改tutorial4一对一调用以将调用者和被调用者流记录到2个文件.

正如我在kurento中所说,录音机与管道相连.管道是两个对等体之间连接的表示.如何在管道中记录单个对等体的流,分别是一个调用者和一个被调用者的流?

我尝试了很多,但找不到溶剂.

record node.js webrtc kurento

2
推荐指数
1
解决办法
3643
查看次数

spring SPeL 结合过滤和投影操作

同事,如何将投影算子![expr]和过滤器结合在一起?[ boolean ]。例如我有一些实体:

class User {
    int age;
    String name;
}
Run Code Online (Sandbox Code Playgroud)

我想从用户列表中选择 30 岁以上的用户名。

独立投影看起来像:

#myArray.![name]
Run Code Online (Sandbox Code Playgroud)

独立过滤看起来像:

#myArray.?[age > 30]
Run Code Online (Sandbox Code Playgroud)

那么如何组合呢?先感谢您!

java spring spring-el

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

在 VS2019 上使用单词“not”作为 C++ 类的名称会导致错误

我正在将现有项目迁移到 VS2019。具有在所有先前版本中成功编译的非常简单的结构:

template <class Marker>
struct not
{
    // ...
Run Code Online (Sandbox Code Playgroud)

错误 C2332:“结构”:缺少标记名称

NOTE-1我已经检查过not没有用一些宏替换的预编译生成,*.i文件的输出完全匹配上面的声明

NOTE-2当然,如果我重命名not->inv那么一切都是正确的

c++ visual-studio visual-studio-2019

1
推荐指数
2
解决办法
146
查看次数

改进Python列表切片

我想知道为什么Python的extend/append方法不返回对结果列表的引用.要使用last元素构建list的所有组合的字符串,我想写简单:

for i in range(l, 0, -1):
    yield " ".join(src[0:i-1].append(src[-1]))
Run Code Online (Sandbox Code Playgroud)

但我得到了:TypeError.而是使用以下代码与中间变量:

 for i in range(l, 0, -1):
        sub = src[0:i-1]
        sub.append(src[-1])
        yield " ".join(sub)
Run Code Online (Sandbox Code Playgroud)

如果我错了,请纠正我

python list

0
推荐指数
2
解决办法
381
查看次数