草庐IT

netty-all

全部标签

java - 如何使用 Netty 关闭异步 Http 请求的 AsyncHttpClient?

将AsyncHttpClient与Netty提供程序一起使用将防止主程序在我们执行异步请求时终止。例如,以下程序是否在println之后终止,取决于提供者是JDKAsyncHttpProvider还是NettyAsyncHttpProvider:publicclassProgram{publicstaticCompletableFuturegetDataAsync(Stringuri){finalAsyncHttpClientasyncHttpClient=newAsyncHttpClient();finalCompletableFuturepromise=newCompletable

java - 如何结合 Webstart Maven 插件使用 Maven 将 'all-permissions' 添加到 list 文件?

我最近开始尝试使用Maven。作为测试,我尝试创建一个简单的JavaFX8webstart应用程序。为此,我使用了Netbeans8中Maven类别下的JavaFX示例。这为我提供了一个简单的HelloWorld应用程序:我在我的pom.xml文件中添加了一个名为“jnlp”的新配置文件。这样可以在构建项目时创建JNLP文件(使用webstartmaven插件)。....jnlporg.codehaus.mojowebstart-maven-plugin1.0-beta-6org.codehaus.mojowebstart-pack200-impl1.0-beta-6org.codeh

java - PreparedStatement setString(...) for all,即使对应的数据类型是整数

我遇到了以下代码,我觉得它做错了:(请注意,这是JDK1.4.2,因此未输入列表)StringBufferqueryBuffer=newStringBuffer();ArrayListtemp=newArrayList();...queryBuffer.append("andsb.POSTCODE=?");temp.add(postcode);...conn=ConnectionManager.getConnection();pstmt=conn.prepareStatement(queryBuffer.toString());这是我关心的:for(inti=0;i但是我注意到数据库中

java - RxJava 测试 : how to wait for all background tasks to complete

TLDR:我在RxJavaObservables中进行后台处理,我正在进行集成测试,我希望能够独立等待该处理完成,以确保从一个测试开始的后台处理不会干扰另一个测试测试。简化后,我有一个@RequestMapping方法来执行以下操作:在数据库中插入数据启动该数据的异步处理(通过Feign进行http调用,数据库更新)不返回任何内容(HttpStatus.NO_CONTENT)此异步处理以前是使用ThreadPoolTask​​Executor完成的。我们将过渡到RxJava,并希望删除此ThreadPoolTask​​Executor并使用RxJava进行后台处理。所以当时我很天真地尝

java - 测试调用 : how to do set up common to all test suites

有没有办法知道JUnit4测试类是否由测试套件启动?我有全局的东西,我想在所有测试之前运行(关于内存数据库),所以我想在测试服中做它。但是,我仍然希望能够在没有测试服的情况下一次启动一个测试,所以我需要知道我是否需要在测试的@Before部分初始化全局事物......有人知道吗如果它是可能的? 最佳答案 有几种方法可以实现这一点。最简单和最简单的方法是在套件的开始和结束时运行一个“测试”,它会设置您的数据库,然后设置一个全局标志。在您的@Before和@After测试中,您检查此标志,并在必要时进行设置/拆卸。@RunWith(Su

java - 未调用 Netty 处理程序

我正在尝试使用一个简单的服务器-客户端应用程序(代码见下文)进入Netty。我正在努力解决两个问题:ConfigServerHandler响应。ConfigClientHandler被正确调用。但是FeedbackServerHandler响应。永远不会调用FeedbackClientHandler。为什么?根据文档,处理程序应该一个接一个地调用。我想要多个处理程序。这些处理程序中的每一个只对另一方发送的某些消息感兴趣(例如,客户端发送,服务器接收)。我应该在处理程序(channelRead)接收到消息后对其进行过滤吗?如何区分不同的字符串?对于不同的对象,通过解析它们应该很容易。是否

java - netty如何确定读取何时完成?

下面是回显服务器的ChannelHandler。Netty框架将调用channelReadComplete()方法来通知处理程序,对channelRead()的最后一次调用是当前批处理中的最后一条消息。我的问题是,由于数据是在中继线上传输的,Netty如何知道一批消息何时完成? 最佳答案 channelReadComplete()一旦没有更多数据可从底层传输读取,就会被触发。在谈论SocketChannels时,这将是以下两种情况之一:read(...)返回0read(...)得到一个传递给它的缓冲区,该缓冲区有1024个字节要填充

java - 如何最好地指定用于 Netty 的 Protobuf(最好使用内置的 protobuf 支持)

我在protocolbuffers中指定了一个协议(protocol).传输层正在利用Netty的ProtocolBuffer支持-Netty的ProtobufDecoder的重要性接受一种且仅一种MessageLite类型.现在,我想沿着这个channel发送各种不同的消息类型,每个子类型都有与之关联的结构化信息。Protocol-buffers没有继承机制,所以我使用了一种组合。我不确定我的处理方式是否正确。我的方法是使用枚举对我的不同事件进行分类,并使用可选成员封装它们的差异。请参阅下面我的.proto,为了清楚起见,我对其进行了简化。我的问题是接收代码需要在EventType.

java - 每个连接的 Netty 处理程序都是唯一的吗?

我一直在查看Nettywebsite中的代理服务器示例:示例源代码处理程序有一个volatile变量privatevolatileChanneloutboundChannel;负责连接到另一台代理服务器的channel。这让我想知道这是否是为代理实现多个连接的正确且安全的方法。我想允许多个连接(入站)连接到不同的出站,同时确保每个入站连接都唯一链接到出站channel。据我所知,Netty会为每个连接生成一个新的管道。这是否意味着管道工厂新生成的处理程序专门用于新连接(channel)?附注如果我有1,000个Activity连接到我的Netty服务器,这是否意味着有1,000个不同的

java - map : How to get all keys associated with a value?

给定一个Map,我如何查找与特定值关联的所有键?例如:Mapmap=newHashMap();map.put(1,5);map.put(2,2);map.put(3,5);Collectionkeys=map.values(5);//shouldreturn{1,3}我正在寻找类似于GoogleCollections的BiMap的内容其中值不是唯一的。 最佳答案 使用简单的java.util.Map实现,恐怕您必须遍历映射条目并测试每个值:for(Map.Entryentry:map.entrySet()){if(entry.get