问题标签 [armeria]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 使用 armeria 或 asynchttpclient 代理大文件
我有一个用 Armeria 制作的代理服务器,它应该从源开始下载并同时将其向外流式传输到目的地。该文件应该是流式传输的,因为这是一个代理服务器,我不想让它存储和转发。这个应用程序应该处理大量的流量。
我应该在哪里寻找纯粹在 Armeria 做的任何提示?
我尝试使用 AsyncHttpClient 但我认为它正在锁定主线程或其他东西,因为请求开始累积。
下面的所有代码都在里面CompletableFuture.supplyAsync()
。
有没有办法可以解决这个问题,或者更好的是,纯粹在 Armeria 中解决这个问题?
我希望它将文件从源流传输到目标并能够处理大量流量。
java - 在 Dropwizard 2.0.0 中检索 Jetty 实例
我们有一个在 Dropwizard 版本 2.0.0-RC 中制作的项目,我们使用 REST 端点。在一些问题之后,我们决定使用 gRPC 而不是 REST。有几个第三方库可以将 gRPC 连接到 Dropwizard,但我们认为它们有点过时且不可用。所以我们正在考虑实施 Armeria 及其 GRPC 解决方案。
为了实现这一点,我需要 Jetty 实例来附加 GRPC。
这就是我可以解决的方法(GRPC 和 Armeria 之间的混合):
所以我需要jettyServer
成为 Jetty 的实例,类型为org.eclipse.jetty.server
. 其余代码是 Armerias 嵌入 Jetty 的方式。链接到嵌入码头。
如何检索 Jetty 的实例?
armeria - 如何让 Armeria 在出现“地址已在使用”错误时退出?
当 Armeria 由于错误而无法启动时,如何确保我的程序退出Address already in use
?
我有以下代码:
当我运行它时,一切都很好。但是当我第二次运行它时,我得到了一个Address already in use
错误,这当然是意料之中的,但程序不会自行终止。这可能是它应该的样子,但我如何确保它在初始化期间因错误而终止?
armeria - 如何为 armeria grpc 服务器启用 keep_alive 设置?
作为 GRPC 的 serverBuilder 的一部分,armeria server builder 有几个选项。一个是channelOption和childChannelOption,它接受ChannelOption.SO_KEEPALIVE和一个布尔值。即使我设置了这些参数,我也会收到一条消息 ,提示通道 '[id:xxxxx]' 的未知通道选项 'SO_KEEPALIVE' 有人可以建议它如何作为 armeria serverbuilder 的一部分来完成吗?
armeria - 如何使用 thrift 协议获取 httpservice 中的标头
如何处理服务器中的 HTTP 标头?THttpService
是最终类,所以我不能扩展它来处理标题。
java - Netty/Armeria 处理程序方法中的 Bootstrap Hibernate SessionFactory 因 ClassNotFoundException 而失败
我有一个使用Armeria作为 Web 服务的 Java 应用程序。当我在 main 方法中创建我的 Hibernate SessionFactory 时,它工作正常。但是我试图在调用某个 Http Endpoint 时创建 SessionFactory。在处理程序方法中,无法创建会话工厂
Exception in thread "Thread-1" org.hibernate.internal.util.config.ConfigurationException: Unable to perform unmarshalling at line number 0 and column 0 in RESOURCE hibernate.cfg.xml. Message: null
我能找到的关于这个错误的所有信息是没有为 Java > 8 提供 JaxB,但我使用的是 Java 8,如果我只是在应用程序启动时创建它,它就可以正常工作。
java - 了解 Armeria 的装饰器
我刚从 Armeria 开始,并努力完全理解一些事情。
我实现DecoratingHttpServiceFunction
是为了通过 Hibernate 会话向服务提供请求。
但显然会话在服务实际被调用之前关闭,返回的请求delegate.serve
是DeferredHttpResponse
. 我的方法是完全错误的还是有更好的方法来做我想做的事?
spring-boot - 带有连接工厂和 Req 标头的 Armeria WebClient 请求
我一直在尝试使用 armeria 建立 https 连接WebClient
由于未指定连接工厂,我得到javax.net.ssl.SSLHandshakeException
任何人都可以提供相关示例的帮助。?谢谢
armeria - 在 Armeria 上使用第三方 http 客户端
我正在发现 Armeria 框架,我想使用 REST 服务。使用 Armeria WebClient:
此代码返回将异步解析的 CompletionStage,因为如果我在这里执行 join() 或 get() 会导致“java.lang.IllegalStateException:阻塞事件循环,不要这样做”。
我的问题是:如果我想使用第三方 httpclient 库(如 Apache HttpClient)而不是 Web 怎么办?客户端调用也应该包含在 Future 中?我应该如何管理客户端请求以适应框架方法并避免“阻塞事件循环”问题?
谢谢大家!
armeria - 如何调用多个服务?
当我使用 Armeria 时,我有 3 项服务:
服务 A 调用服务 B 和服务 C。
我应该在 A 的 blockingTaskExecutor 或其他更好的方式中调用 B 和 C 的阻塞存根吗?