- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个后端服务器(Jetty),它处理 HTTP 请求并与 MySQL 数据库交互。
这一切都与 Spring 连接在一起。
我在 Swing 中还有一个 UI 前端,用作管理员工具(用户可以与数据库等进行交互)。
现在服务器和 UI 有点捆绑,这意味着当主类开始加载时,它首先启动 Spring 上下文,然后启动 UI(在 EDT 线程中)。
因此本质上只要 UI 运行,服务器就会监听请求。
我遇到的问题如下:
我想在服务器完全初始化后显示 GUI,实际上我更喜欢在 GUI 启动期间实际连接到服务器并获取一些数据,以便在 GUI 出现在屏幕上时显示它们。
现在,我通过在 EDT 线程中开始创建 GUI 之前添加几秒钟的 sleep 来实现这一点。
这解决了这个问题,但是延迟是任意的,我想这取决于目标机器。
它还使得 GUI 需要很长时间才能出现(现在延迟为 10 秒)。
我试图找出在显示 GUI 之前了解 Spring 上下文和后端 Jetty 已完全初始化的最佳方法。
我猜想的一种方法是尝试向服务器发送请求,如果失败,请继续尝试多次,直到成功为止,然后显示 GUI。
但我想知道是否有更标准的方法。
非常欢迎任何意见。
最佳答案
要检查 Spring 应用程序是否已加载,您可以实现 Spring 的 ApplicationListener接口(interface)并监听ContextRefreshedEvent
如果您从 Spring 上下文启动 Jetty(如 this example ),一旦您收到 ContextRefreshedEvent,它将完全初始化。如果您使用其他机制来启动 Jetty,您可以向它发出 http 请求,因为 http 连接器是在 Jetty 启动序列的末尾设置的。
关于java - 如何知道组件(spring/jetty)是否完全初始化的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7763528/
在没有指定上下文和上下文处理程序的情况下启动 jetty 实例是否正确,然后在服务器启动后继续向其添加上下文。尽管我能够使用可变 HandlerCollection 执行此操作并且日志显示服务器和上下
在没有指定上下文和上下文处理程序的情况下启动 jetty 实例是否正确,然后在服务器启动后继续向其添加上下文。尽管我能够使用可变 HandlerCollection 执行此操作并且日志显示服务器和上下
我正在尝试让 Jetty 在我的 Ubuntu 上自动启动。 我已经完成了这些命令: cp /opt/jetty/bin/jetty.sh /etc/init.d update-rc.d jett
我是 Jetty 和客户端/服务器架构的新手。 我设法在 Eclipse 中编写了一个 jetty 服务器,它可以工作。 但是我怎样才能停止 jetty 服务器呢?我听说过 stop.jar 和 st
我已经使用Jetty / tomcat应用服务器使用Spring Web应用程序工作了大约两年了,但是让我感到困惑的是如何在这些服务器中处理多个请求。我知道 Spring 有助于单例,但我的理解仅限于
我正在尝试使用 jetty 来使用 maven 托管一个简单的 helloworld servlet。我很困惑。 我关注了这些 instructions ,但是当我发出 mvn jetty:run ,
我正在使用 Jetty 9,我有 jetty.base 和 jetty.home,我想知道我什么时候启动 jetty,它以什么样的顺序调用 jetty.base 和 jetty.home,我的意思是一
我有一个 Ubuntu 服务器 10.10 64 位 在 上运行 Web 应用程序 jetty 6.1.24-6 在 Sun 的 JVM ,两者都是从标准 Ubuntu 存储库安装的。 我正在尝试查找
我在集成测试中使用 ShrinkWrap 启动 Jetty 服务器。 问题: 当我启动我的测试 jetty 服务器而不是制作我的 Controller 模型时 - 模型不起作用! 我认为原因是不同的类
使用Gradle帮助运行Jetty 9 我已经看到了在how-to-run-jetty-7-with-specified-war-with-groovy-gradle和setting_up_embed
我正在将一个项目打包到 docker jetty 镜像中,并且我正在尝试访问日志,但没有访问日志。 文件 FROM jetty:9.2.10 MAINTAINER Me "me@me.com" ADD
有没有办法解决jetty引起的文件锁定问题?完全来自 gradle ? 一些澄清: 使用 Gradle Jetty plugin 时通过运行 gradle jettyRun, jetty 导致静态资源
我最近才开始使用 Java(我最近的大部分经验都在 .NET 中)。作为这项工作的一部分,我一直在对 Jetty 和 Tomcat 进行一些比较。 我认为在我们的环境中 Tomcat 的一个功能是内置
我已将 Jetty 嵌入到 Java 应用程序中,并在 Jetty 服务器对象的实例上调用 start() 方法(在设置描述静态和动态 Web 内容位置的处理程序列表之后)。 start() 调用会阻
我正在使用 Jetty 部署生产网站。假设我的网站是 foo.com 当我将浏览器指向一个不存在的上下文(比如 foo.com/notavailable)时,Jetty 会显示一个错误页面,其中包含部
我想使用 Jetty 的嵌入式版本创建一个应用程序。不幸的是,我找不到有关我需要这样做的 jar 文件的任何信息。 Maven 存储库中有几个( http://repo2.maven.org/mave
This answer explains how the server version header can be completely removed通过使用 HttpConfiguration.s
有人可以告诉我DispatcherType在做什么吗? 似乎是重要的配置。 指向ServletContextHandler#addFilter之类的东西对类的使用也没有帮助,对我来说,“ aa”是明智
我正在尝试使用jetty gradle插件运行Jetty服务器进行功能测试。但是,我得到了java.lang.IllegalArgumentException: Object is not of ty
我需要在gradle构建中创建多种不同的模式来运行 jetty 。 它们的系统属性和类路径不同。 如何使用Gradle Jetty插件进行操作? 最佳答案 您可以创建JettyRun类型的多个任务。要
我是一名优秀的程序员,十分优秀!