小编Pra*_*dey的帖子

Kafka制作人TimeoutException:过期1条记录

我正在使用Kafka和Spring-boot:

卡夫卡制片人班:

@Service
public class MyKafkaProducer {

    @Autowired
    private KafkaTemplate<String, String> kafkaTemplate;

    private static Logger LOGGER = LoggerFactory.getLogger(NotificationDispatcherSender.class);

    // Send Message
    public void sendMessage(String topicName, String message) throws Exception {
        LOGGER.debug("========topic Name===== " + topicName + "=========message=======" + message);
        ListenableFuture<SendResult<String, String>> result = kafkaTemplate.send(topicName, message);
        result.addCallback(new ListenableFutureCallback<SendResult<String, String>>() {
            @Override
            public void onSuccess(SendResult<String, String> result) {
                LOGGER.debug("sent message='{}' with offset={}", message, result.getRecordMetadata().offset());
            }

            @Override
            public void onFailure(Throwable ex) {
                LOGGER.error(Constants.PRODUCER_MESSAGE_EXCEPTION.getValue() + " : " + ex.getMessage());
            }
        }); …
Run Code Online (Sandbox Code Playgroud)

apache-kafka kafka-consumer-api kafka-producer-api spring-kafka

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

Cassandra批量查询与单插入性能

我用Cassandra java driver.

我每秒收到150k请求,我将其插入到具有不同分区键的8个表中.

我的问题是哪种方式更好:

  • 批量插入这些表
  • 逐个插入.

我问这个问题是因为,考虑到我的请求大小(150k),批处理听起来像是更好的选项,但因为所有表都有不同的分区键,批处理看起来很昂贵.

java cassandra datastax

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

获取特定推文的回复计数

我正在使用 Pythontweepy库。

我使用以下代码成功提取了推文的“喜欢”和“转发”计数:

# Get count of handles who are following you
def get_followers_count(handle):
    user = api.get_user(handle)
    return user.followers_count

# Get count of handles that you are following
def get_friends_count(handle):
    user = api.get_user(handle)
    return user.friends_count

# Get count of tweets for a handle
def get_status_count(handle):
    user = api.get_user(handle)
    return user.statuses_count

# Get count of tweets liked by user
def get_favourite_count(handle):
    user = api.get_user(handle)
    return user.favourits_count
Run Code Online (Sandbox Code Playgroud)

但是,我找不到获取特定推文的回复计数的方法。

是否可以使用 tweepy 或任何其他库(如 twython 甚至 twitter4j)获取推文的回复计数?

python twitter twython tweepy twitter4j

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

检查存储大值的映射中是否存在键

k要知道映射中存在的键M1[k]vGo.

if v, ok := M1[k]; ok {
    // key exist
}
Run Code Online (Sandbox Code Playgroud)

'v':非指针类型的值。

如果v很大,使用上述方法仅检查特定键是否存在效率不高,因为它将加载内存中的值v(即使我根据我的理解使用空白标识符_代替v,如果我的这里的理解是错误的)。

有没有一种有效的方法可以检查映射中是否存在键(无需读取/或在内存中分配值)?

我正在考虑创建一个新的地图M2[k]bool来存储信息并在M2每次插入内容时进行输入M1

dictionary go go-map

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

使应用程序层松散耦合

我有一个Java Spring-boot应用程序,它有层():

  • 控制器(控制器类)
  • 服务(业务逻辑)
  • 域(数据库层)

Inside My Domain我有两个数据库类

  • MysqlDBManager
  • MongoDBManager

我有我的很多类service package,它使用两种方法MysqlDBManager,以及MongoDBManager.

如果 MysqlDBManager' and直接在我的服务类上使用 MongoDBManager`的实例,那么服务层将与紧密耦合.

为了解决这个问题,我创建了一个**DBManager**在我的包中命名的类,它作为一个代理类,MysqlDBManager' and在内部根据用例调用MongoDBManager`.

现在服务层,而不是调用MysqlDBManager' andMongoDBManager directly they callDBManager , which internally callsMysqlDBManager'和MongoDBManager.

因此,现在我的服务类与域层没有紧密结合.

以下是我的类,类似于我的用例.

MongoDBManager类:

 Class  MongoDBManager {
       public saveUserDocs(String docs) {
         //.....
       }
    }
Run Code Online (Sandbox Code Playgroud)

MysqlDBManager类:

Class  MysqlDBManager {
       public saveUserData(List<String> …
Run Code Online (Sandbox Code Playgroud)

java architecture oop spring design-patterns

5
推荐指数
2
解决办法
356
查看次数

如何在play-framework 2.5.x中实现跨源资源共享(CORS)

我试图通过使用Angularjs-1应用程序从localhost命中Restful URL获取json数据.

我收到了这个错误

http://localhost:9000/mlm/user/all Failed to load resource: 
the server responded with a status of 404 (Not Found)

index.html:1 XMLHttpRequest cannot load http://localhost:9000/mlm/user/all. 

Response to preflight request doesn't pass access control check:
No 'Access-Control-Allow-Origin' header is present on the requested resource.

Origin 'http://localhost:63342' is therefore not allowed access. 

The response had HTTP status code 404.
Run Code Online (Sandbox Code Playgroud)

我正在使用play-framework 2.5.4(java).

编辑1:为app.conf添加了CORS设置

    play.filters {
    cors {
    # Filter paths by a whitelist of path prefixes
    pathPrefixes …
Run Code Online (Sandbox Code Playgroud)

javascript rest playframework angularjs playframework-2.3

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

如何在neo4j中获取特定节点的所有子节点

有我的Neo4j这种关系

Parent -> Childs
F -> D,E
D -> A,B,C
Run Code Online (Sandbox Code Playgroud)

用例:我正在尝试使用此查询获取特定节点的所有子节点

MATCH (p:Person{name:"F"})<-[:REPORTS_TO*]-(c) 
RETURN {parent : p.name, child : {name :collect( c.name)}}
Run Code Online (Sandbox Code Playgroud)

这返回我这个:

{"parent":"F","child":{"name":["D","A","B","C","E"]}}
Run Code Online (Sandbox Code Playgroud)

A, B, C 不是F的直系子女,因为他们是F的子女 D

要求的回应是

[
"F" : [ Childs i.e "E", "D" ]
"E" : []
"D" : [ "A", "B", "C" ]
 and so on ....
]
Run Code Online (Sandbox Code Playgroud)

实现此目的的一种方法是递归触发以下查询:

MATCH (p:Person{name:"F"})<-[:REPORTS_TO]-(c) 
RETURN {parent : p.name, child : {name :collect( c.name)}}
Run Code Online (Sandbox Code Playgroud)

哪个返回

{"parent":"F","child":{"name":["E","D"]}}
Run Code Online (Sandbox Code Playgroud)

然后搜索的所有子项E and D,然后是子项的子项,依此类推。

我的问题是我可以通过单个查询还是以更好的方式实现这一目标?

Edit1:添加数据集

CREATE …
Run Code Online (Sandbox Code Playgroud)

neo4j graph-databases cypher

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

Dse图模式已满或模式较少

如果架构已满或无架构,我感到困惑DataStax graph .

我问这个问题,因为 入门教程 告诉创建架构.但我key-value在边缘属性上插入随机并DSE graph接受它而没有错误.

如果我在DSE-Graph上插入随机Vertex或edge属性(键值)会有问题吗?

datastax-enterprise datastax-java-driver datastax datastax-startup datastax-enterprise-graph

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

使用play-framework 2.5连接MySQL数据库

我正在尝试将MySQL数据库与Play-framework-Java 2.5.4 连接起来.

我收到这个错误,

either dataSource or dataSourceClassName is required
Run Code Online (Sandbox Code Playgroud)

这些是我在App.conf文件中使用的连接代码,

db {
  db.default.driver=com.mysql.jdbc.Driver
  db.default.url="jdbc:mysql://localhost:3306/playdb"
  db.default.user="root"
  db.default.password="9413678957"
}
Run Code Online (Sandbox Code Playgroud)

但它连接时给我以下错误:

caused by: java.lang.IllegalArgumentException: either dataSource or dataSourceClassName is required
    at com.zaxxer.hikari.HikariConfig.validate(HikariConfig.java:785)
    at play.api.db.HikariCPConfig.toHikariConfig(HikariCPModule.scala:141)
    at play.api.db.HikariCPConnectionPool$$anonfun$1.apply(HikariCPModule.scala:57)
    at play.api.db.HikariCPConnectionPool$$anonfun$1.apply(HikariCPModule.scala:54)
    at scala.util.Try$.apply(Try.scala:192)
    at play.api.db.HikariCPConnectionPool.create(HikariCPModule.scala:54)
    at play.api.db.PooledDatabase.createDataSource(Databases.scala:199)
    at play.api.db.DefaultDatabase.dataSource$lzycompute(Databases.scala:123)
    at play.api.db.DefaultDatabase.dataSource(Databases.scala:121)
    at play.api.db.DefaultDatabase.getConnection(Databases.scala:142)
Run Code Online (Sandbox Code Playgroud)

当我连接到mysql数据库(与App.conf中相同)

  • url(jdbc:mysql:// localhost:3306/playdb)
  • 用户名
  • 密码

使用Intellij,它的工作正常.

请帮我告诉我我做错了什么.

java mysql scala intellij-idea playframework

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

Shell脚本文件包含多个命令

我想在windows和linux中使用多个命令制作shell脚本文件.

例如run.sh和run.bat,使用以下命令 run.batrun.sh

mvn clean
mvn install
mvn exec:java
Run Code Online (Sandbox Code Playgroud)

当我运行我的run.bat文件时,它只执行第一个命令,mvn clean但它不执行其他命令.

如何使用多个命令创建shell脚本文件,以便在执行它时,它执行其中的所有命令.

谢谢.

linux bash shell batch-file maven

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