小编Arn*_*ism的帖子

Apache Camel生产者和消费者

我很难绕过这个概念.

我正在尝试实现一个端点,该端点在tcp端口上侦听专有格式的传入消息,然后转换消息并让camel接管转发和路由.

我是否正确理解了生产者是负责发送消息到EndpointConsumer来自该终端接收呢?

在研究接口时,我无法弄清楚这些对象之间的消息流,特别是在消费者部分.Consumer只定义start()stop()方法......

在骨架实现上设置测试时,在端点和生产者对象上Camel调用.之后,它返回,与消费者或与之相关的处理器开始做任何事情.createProducer()process()

有人能指出我正确的方向吗?

messaging apache-camel

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

在ES6代码中扩展EcmaScript 5类

我想在一个新项目中使用EcmaScript 6(通过Browserify和Babelify),但它依赖于用ES5编写的第三方库.问题是在我的项目中创建子类,这些子类从库中的子类扩展而来.

例如:

// Library written in ES5
function Creature(type) {
   this.type = type;
}

// my code in ES6

class Fish extends Creature {
  constructor(name) {
    super("fish");
    this.name = name;
  }
}
Run Code Online (Sandbox Code Playgroud)

这几乎可以工作,除了没有运行Creature()构造函数.我设计了一个解决方法/ hack,它首先构造父类的对象,然后将东西添加到它:

class Fish extends Creature {
  constructor(name) {
    super("throw away"); //have to have this or it wont compile
    let obj = new Creature("fish");
    obj.name = name;
    return obj;
  }
}
Run Code Online (Sandbox Code Playgroud)

只要原始类没有"构造函数"功能,这种方法似乎有效.

我的问题是:使用ES6的类是扩展它们的最佳方法(除了要求图书馆的作者迁移)?还是有更好的方法?我想在我的项目中继续使用class {}语法.

javascript ecmascript-6

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

访问其ID中带有点(.)的bean

在流定义中,我试图访问其ID中有一个点的bean

(例: <evaluate expression="bus.MyServiceFacade.someAction()" />

但是,它不起作用.SWF试图找到一个bean"总线".

最初,我通过使用辅助bean来加载所需的bean来解决它,但解决方案不够优雅且不舒服.使用别名也是不可能的,因为bean是大型系统的一部分,我无法篡改它们.

简而言之,解决方案都没有允许我使用其原始名称直接引用bean.这在当前的SWF版本中是否可能?

java spring spring-webflow spring-el

8
推荐指数
2
解决办法
2537
查看次数

tsc --watch 在 tsconfig.json 中存在 outDir 时不更新文件

我正在尝试使用 Typescript 编写一个 nodejs 命令行应用程序,并且我有以下 tsconfig 文件:

{
"compilerOptions": {
    "module": "commonjs",
    "outDir": "dist"
},
"include": ["src/*.ts"]
}
Run Code Online (Sandbox Code Playgroud)

当我使用tsc一切正常时(*.js 文件出现在 dist 文件夹中)。

但是,当我运行时tsc -w,js 文件首先在 dist 文件夹中创建,但在我更改任何 ts 文件时不会更新。Tsc 似乎可以很好地查看和编译更改,但无法编写实际的 js 文件。

4:23:04 PM - File change detected. Starting incremental compilation...
4:23:04 PM - Compilation complete. Watching for file changes.
Run Code Online (Sandbox Code Playgroud)

当我从 tsconfig 中省略 outDir 参数时,一切正常(更改 ts 文件时正在更新 js 文件)。这不是理想的解决方案,因为我希望 js 输出位于 dist 文件夹而不是 src 中。

当我跳过使用 tsconfig.json 文件并直接运行它时,它也能正常工作:

tsc -w --outDir dist src/app.ts
Run Code Online (Sandbox Code Playgroud)

难道我做错了什么?

在 win10、tsc …

typescript tsc tsconfig

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