问题标签 [embedded-server]

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.

0 投票
1 回答
56 浏览

mongodb - 以微服务精神从本地服务器连接到本地 Mongodb Docker 容器

我在本地机器上用 Docker编写了一个Mongodb服务,主机名在docker-compose.yml中配置了 syntax container_name: mongodb,然后本着微服务的精神,我在一个轻量级的嵌入式服务器上启动了一个RESTful API 服务,比如Jetty,也在本地。

问题是本地 RESTful API 服务由于网络不同,无法在本地 Docker 容器上使用定义的 Mongodb 容器名称与 Mongodb 服务通信mongodb

问题:

  1. 这是一个好习惯吗,比如说在嵌入式服务器上启动 RESTful API 服务,尤其是。在生产中,没有另一个不同于 Mongodb 容器的 Docker 容器?
  2. 如果这是一个好的做法,如何配置以使本地嵌入式服务器上的 RESTful API 可以访问本地 Docker 容器上的 Mongodb?
0 投票
1 回答
588 浏览

java - 如何阻止 spring-boot Embedded-undertow 添加斜杠

当我调用我的 spring-boot 应用程序“ localhost:8080/api/players ”的上下文根时,它通过注释 @GetMapping(path= {"/",""}) 在 RestController 方法中映射,总是重定向(httpstatus: 307 临时重定向)到“ localhost:8080/api/players/ ”在末尾添加斜杠。

我的应用程序上下文根确实是spring-boot application.properties 文件(server.servlet.context-path=/api/players 中定义的 /api/players

我已经尝试使用嵌入式 tomcat 并且通过设置属性server.tomcat.redirect-context-root=false它可以正常工作

有一种方法可以将 undertow 配置为像 tomcat 一样?

0 投票
4 回答
1181 浏览

macos-mojave - Micronaut 的 EmbeddedServer 启动速度极慢

我创建了一个微型宇航员“Hello World!” 根据 Micronaut 用户指南的应用程序和 JUnit 测试:

https://docs.micronaut.io/latest/guide/index.html#creatingClient

在带有 Java 1.8.0_25-b17 的 macOS Mojave (10.14) 上。

单元测试:

“你好世界!” 应用程序快速启动(大约一秒钟)。但是,JUnit 测试需要超过 75 秒才能完成。它在以下行“挂起”75 秒:

/etc/hosts 中的建议修复不起作用

我已经尝试过这个建议的修复(在“127.0.0.1 localhost”和“::1 localhost”条目之后将主机名添加到/etc/hosts——无论有没有“.local”后缀):

https://docs.micronaut.io/latest/guide/index.html#problems

Jvm 需要很长时间才能解析 localhost 的 ip-address

没有运气。更改 /etc/hosts 后我重新启动了我的机器。

不过,主机名解析似乎不是问题;我用上面链接中提到的inetTester.jar(在这里下载:https ://github.com/thoeni/inetTester )对其进行了测试,只需要6ms。我想它一定是别的东西。

(另一方面,每个在 macOS 上遇到 micronaut 应用程序启动时间问题(我没有)并通过将主机名添加到 /etc/hosts 来修复它的人,也提到了同样的 ~75 秒延迟——这不能真的是巧合吗?)

日志文件

日志文件中的两行,在 75 秒暂停之前和之后:

还有一点背景:

0 投票
1 回答
148 浏览

dart - 从同一网络上的其他设备访问 dart 嵌入式网络服务器

我是 dart web 的新手,现在我正在尝试从同一网络上的其他设备访问我的网页。

当我输入命令 webdev serve 时,一个嵌入式网络服务器在端口 8080 上进行侦听,我可以通过该设备上的 127.0.0.1:8080 访问它。但我无法从同一网络上的其他设备访问它<DeviceLocalIP>:<port>

在过去,我尝试从其他设备访问 Wamp VirtualHost,并且以这种方式工作。请帮忙 。

0 投票
1 回答
1972 浏览

java - Micronaut 嵌入式服务器与本地主机

我开始使用 micronaut,我想了解使用本地主机测试控制器和使用嵌入式服务器之间的区别

例如我有一个简单的控制器

和被测试的班级

我得到了日志:

但是,在哪些情况下我们需要嵌入式服务器?为什么?我可以在哪里找到文档来理解它。我阅读了 Micronaut 的文档,但我不清楚,实际发生了什么以及为什么?像这个例子:

0 投票
1 回答
137 浏览

jcr - Apache Jackrabbit-standalone 中使用的嵌入式服务器是什么?

我相信在jackrabbit-standalone jar中,应该嵌入一个应用程序服务器来提供Web内容。

我试图找到 jackrabbit-standalone.jar 中使用的确切嵌入式服务器。根据 jackrabbit-standalone 上的文档,它没有提到任何关于它的事情。

https://jackrabbit.apache.org/jcr/standalone-server.html

有人知道它使用哪种嵌入式服务器吗?

0 投票
1 回答
397 浏览

java - 生产环境中的 Spring Boot API 模拟

我知道,我们可以在 Spring-Boot 中轻松地在测试范围内模拟我们的代码。在这里,我想尝试在 Spring Boot 中创建一个演示生产范围/配置文件。在这个配置文件中,我想使用模拟场景。

例如,在我的代码中,有第三方 API 调用:

有没有办法在生产中模拟它?或者更好的方法;有没有办法像(wiremock)一样为它创建嵌入式服务器?

注意:我已经在我的项目中实现了不同的配置文件属性,例如(生产、测试​​和开发),因此这与使用不同的配置文件无关。在这里,我只想在生产环境中模拟 API,而不是在测试配置文件中模拟 API。当然对于演示配置文件,我将创建 demo.properties

0 投票
1 回答
97 浏览

c++ - 带有嵌入式 Mongoose 服务器的主机应用程序

我创建了一个独立的 exe,使用嵌入式 mongoose 服务器 [官方 C 版] 提供一些 REST API。它在本地主机上的我的机器上运行良好。现在我的计划是在客户端应用程序可以使用它的服务器上运行这个应用程序。但不能让它跨机器工作。它只能在它使用 localhost url 运行的机器上工作。我正在使用端口 5554。猫鼬服务器中是否有任何设置可以做到这一点?

0 投票
0 回答
136 浏览

android - 如何使用 sparkjava 框架 webserver 和 Android 设备发送大文件?

我已经在 Android 上实现了 sparkjava 框架,用于嵌入式 Web 服务器以提供来自 android 设备的文件,它能够在网页上列出文件,但问题是使用 Web 界面从 android 设备下载文件时无法下载文件大小更大的文件超过 70-80 MB。

使用 sparkjava 运行嵌入式 http 网络服务器的 Android 应用程序(发送者、主机、服务器)和接收端是连接到运行 Android 应用程序的移动热点的桌面网络浏览器。

如果文件大小超过 70-80 MB Android Studio 日志显示“内存不足”

来自 android 设备的网页列表文件的图像 以及此处的 Android studio 日志

使用以下 kotlin 代码向网络浏览器提供可下载文件(可下载文件来自 android 设备)

上面的代码在 Android 应用程序中。

如何解决这个问题?

0 投票
0 回答
107 浏览

spring-boot - Spring Boot - 以编程方式更改 Web 服务器端口

我正在使用 Spring Boot 构建一个桌面应用程序,它还使用嵌入式 Web 服务器来提供一些生成的文件。有没有办法以编程方式更改 Web 服务器运行的端口?我将允许用户配置他们希望它运行的端口,并且我希望我可以在不让他们重新启动应用程序的桌面部分的情况下进行更改。

我尝试了这个非常幼稚的代码:

但它没有用。日志刚刚说:

使用 Java 11 / Spring Boot 2.5.2

我还没有拼凑出一些有希望的线索:

  • org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext#createWebServer
  • org.springframework.boot.autoconfigure.web.servlet.ServletWebServerFactoryConfiguration.EmbeddedTomcat#tomcatServletWebServerFactory
  • org.springframework.boot.web.servlet.support.SpringBootServletInitializer#createRootApplicationContext