小编Ram*_*lat的帖子

如何从bbv.Common.StateMachine(现在的Appccelerate.StateMachine)类中获取当前状态?

bbv.Common.StateMachineclass是我见过的最好的状态机代码.但它缺少一件事:获得当前状态.

这是一个订单跟踪系统:

fsm = new ActiveStateMachine<States, Events>();

        fsm.In(States.OrderCreated)
            .On(Events.Submitted)
            .Goto(States.WaitingForApproval);
        fsm.In(States.WaitingForApproval)
            .On(Events.Reject)
            .Goto(States.Rejected);
        fsm.In(States.WaitingForApproval)
            .On(Events.Approve)
            .Goto(States.BeingProcessed);
        fsm.In(States.BeingProcessed)
            .On(Events.ProcessFinished)
            .Goto(States.SentByMail);
        fsm.In(States.SentByMail)
            .On(Events.Deliver)
            .Goto(States.Delivered);

        fsm.Initialize(States.OrderCreated);
        fsm.Start();
        fsm.Fire(Events.Submitted);
        // Save this state to database
Run Code Online (Sandbox Code Playgroud)

你可以很容易地看到它的工作原理.

但我想在数据库中保存订单状态.所以我将能够显示订单的状态.

我需要一个

fsm.GetCurrentState()
//show this state in the a table
Run Code Online (Sandbox Code Playgroud)

方法.实际上有一种方法:我可以ExecuteOnEntry在每个州的条目上使用和更改本地值.但ExecuteOnEntry为每个州写作都会很麻烦,因为我会重复自己!

必须有一种微妙的方式来做到这一点.

c# state-machine

10
推荐指数
2
解决办法
2482
查看次数

从通知服务扩展访问应用程序代码

通知服务扩展在将远程通知传递给用户之前修改其内容。例如,如果远程通知包含图像 URL,则可以使用通知服务扩展来获取图像并将其显示在通知内容中。

但是如何访问通知服务扩展中的实际应用程序代码?假设我在应用程序代码中有一个swift 类,我可以在通知服务扩展DataAccess中访问该类吗?

编辑:有些人建议将应用程序代码添加到服务扩展中,这不适用于我的情况。

ios swift remote-notifications unnotificationserviceextension

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

使用 ClickHouse 使用来自 Kafka 的嵌套 JSON 消息

如果 JSON 消息是平面 JSON 文档,Clickhouse 绝对可以从 Kafka 读取 JSON 消息。

我们kafka_format = 'JSONEachRow'在 Clickhouse 中用它来表示这一点。

这是我们目前使用的方式:

CREATE TABLE topic1_kafka
(
    ts Int64,
    event String,
    title String,
    msg String
) ENGINE = Kafka
SETTINGS kafka_broker_list = 'kafka1test.intra:9092,kafka2test.intra:9092,kafka3test.intra:9092',
kafka_topic_list = 'topic1', kafka_num_consumers = 1, kafka_group_name = 'ch1', 
kafka_format = 'JSONEachRow'
Run Code Online (Sandbox Code Playgroud)

只要生产者将平面 JSON 发送到topic1_kafka. 但并非所有生产者都会发送平面 JSON,大多数应用程序都会生成如下所示的嵌套 JSON 文档:

{
  "ts": 1598033988,
  "deviceId": "cf060111-dbe6-4aa8-a2d0-d5aa17f45663",
  "location": [39.920515, 32.853708],
  "stats": {
    "temp": 71.2,
    "total_memory": 32,
    "used_memory": 21.2
  }
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,上面的 JSON 文档与 …

json apache-kafka clickhouse

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

是否有像 Python 中的 Walrus 运算符这样的 Java 赋值表达式

在 Python 中,您可以为变量赋值并同时返回它,如下所示:

a = [1, 2, 3, 4] 
if (n := len(a)) > 3: 
    print(f"List is too long ({n} elements, expected <= 3)") 
Run Code Online (Sandbox Code Playgroud)

有没有办法在Java中做到这一点?

java

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

jQuery 选择器仅选择特定的 2 个类,不包括任何其他类?

有很多问题要求选择具有 2 个类别的元素。但我想问,如果我想要获取仅具有 2 个提供的类的元素并排除具有任何其他附加类的任何其他元素怎么办?换句话说,不需要具有附加类的元素。

<div class="a">
  <div class="a b">
    ...
  </div>
  <div class="a b c">
    ...
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

就我而言,我只想获取第二个 div 元素,而不是带有a b c类的元素。

jquery jquery-selectors

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

如何更改 docker 映像的宽限期,使其在 10 秒后不会发出 SIGKILL 信号?

当容器停止时docker stopdocker发送SIGTERM到进程并等待 10 秒作为宽限期,然后如果它仍在运行,docker 发送SIGKILL杀死进程

假设我有一个数据库映像需要 10 秒以上才能正常关闭。那么如何制作10秒后不被杀死的图像呢?我可以增加宽限期甚至完全跳过 SIGKILL'ed 吗?

PS:不问-t参数docker stop。我希望我的形象能够决定宽限期。

docker

5
推荐指数
0
解决办法
804
查看次数

JDBC 4是否与JDBC 3完全兼容?

程序员A使用JDBC 3(db2jcc.jar)编写了一个应用程序,并将其部署在WebSphere App Server上。

可以将JDBC连接更改为使用JDBC 4(db2jcc4.jar)而不是JDBC 3吗?

JDBC 4是否与JDBC 3完全兼容?

java db2 websphere jdbc

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

ClickHouse 耐用吗?

我知道 ClickHouse 没有ACID,因此我不希望它DACIDness方面具有可用性。但是,问题是,如果服务器崩溃,是否有可能丢失插入内容?

clickhouse

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

DB2 AS/400 iseries在where子句中使用别名

我正在尝试在where子句中使用列的别名.例如:

SELECT col1 AS alias1, col2 + col3 as sums 
FROM my_table
WHERE sums > 10
Run Code Online (Sandbox Code Playgroud)

但后来我收到一条错误消息:

列总和不在指定的表中.

无论如何我能做到吗?

sql db2 ibm-midrange

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

什么是卡桑德拉的gc恩典

我正在观看关于Datastax的DS201课程,讲师开始使用"GC GRACE"一词.

究竟什么是"GC Grace"和"gc_grace_seconds"?

cassandra

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

如何在ClickHouse中获取FLAG的值

ClickHouse 有一些选项的标志。例如,allow_experimental_live_view可以设置为 1:

:) SET allow_experimental_live_view = 1
Run Code Online (Sandbox Code Playgroud)

但是没有办法GET获取标志的值,例如GET allow_experimental_live_view.

有什么方法可以获取flag的值吗?

clickhouse

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

vmstat结果不一致

当我发出没有任何参数的vmstat命令时,我得到这个结果:

# vmstat
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
7 117      0 719328 1251624 258624672    0    0   346    64    0    0  4  0 92  3  0
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,cpu idle是92%.无论我发出多少次命令,我都会得到类似的结果.

但是当我发出带有时间间隔参数的vmstat时,cpu空闲值立即下降:

# vmstat 5        
    procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
385  0      0 145380064 1457188 115708528    0    0 …
Run Code Online (Sandbox Code Playgroud)

cpu-usage

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

既然有WebRTC,为什么我们还需要crossbar.io(WAMP)?

据我了解,crossbar 提供客户端之间的透明连接。这样客户就可以相互沟通。WebRTC 几乎做同样的事情,没有中央服务器(除了信令服务器),延迟较低。

那么为什么我们首先需要横杆呢?

我错过了什么吗?

webrtc crossbar

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