Heroku:快速部署Dropwizard开发的RESTful Service

gradle-dropwizard:Gradle插件可手动启动dropwizard以及作为测试任务的一部分并构建可运行的jar文件 Gradle-dropwizard Gradle插件 手动启动/停止dropwizard 作为集成/验收测试任务的一部分,启动/停止dropwizard(这些任务由插件创建) 建立一个可运行的jar文件 警告:此插件仅在Debian / Linux上进行了测试,并且依赖于java.lang.UNIXProcess 。 尚不清楚它是否可以在Mac上运行,但肯定会在Windows上崩溃! 破解您的平台并提交拉取请求:) 相关工作 :Dropwizard本身,很明显 :各种DW 对于示例项目,请查看 正在下载 摇动 buildscript { repositories { jcenter() } dependencies { classpath ' net.swisstech:gradle-dropwizard:+ ' } 立即下载

  上一篇博客《Dropwizard:用Java轻轻的写一个RESTful Service》中讲到了使用Dropwizard可以快速的开发出一个RESTful service,同时因为Dropwizard使用的是Jetty Embedded Container,就可以不再需要繁琐的去安装相应的container,以及其他的好处(参考《Embedded Server:像写main函数一样写Web Server》)。唯一需要的东西,只是java的运行时环境。为了说明这样带来的好处,这篇博客将会采用大家耳熟能详的一个PaaS平台Heroku来部署用Dropwizard开发出的RESTful service。


1. dropwizard

使用已有的的项目

git clone https://github.com/kiwiwin/heroku-dropwizard-demo

比上篇Dropwizard的博客中的项目中仅有的几个不同点是:

Profile

web: java $JAVA_OPTS -Ddw.http.port=$PORT -Ddw.http.adminPort=$PORT -jar heroku-app/*-standalone.jar server heroku-app/hello.yaml

Profile中包含的内容是,heroku需要启动App时调用的命令。

system.properties

java.runtime.version=1.7

使用system.properties指定需要使用的java版本是1.7

build.gradle

新增一个task stage,这个在后面会解释


2.创建heroku project

在项目heroku-dropwizard-demo文件路径下

登陆heroku:$heroku login

创建heroku app:$heroku create -s cedar kiwi-dropwizard-demo

kiwi-dropwizard-demo是你创建的heroku的app名称,需要是唯一的。app的名称也就对应了你app的url:http://kiwi-dropwizard-demo.herokuapp.com/。cedar是heroku提供的默认runtime环境,在这个环境中,你可以build,deploy你的app。

设置buildpack:buildpack决定了当你把你的代码push到heroku的时候,heroku怎么样build你的代码,在heroku官网中,其提供了一个gradle的buildpack(https://devcenter.heroku.com/articles/buildpacks)。但这个build脚本使用的是gradle-1.0-milestone-5。版本实在太老了。所以,我自己稍作修改,使用gradle1.9。让heroku知道你使用这个buildpack:

$heroku config:set BUILDPACK_URL=https://github.com/kiwiwin/heroku-buildpack-gradle

部署到heroku:$git push heroku master


3.访问app

$curl http://kiwi-dropwizard-demo.herokuapp.com/hello?name=recocojie

返回:

{"id":3,"content":"Hello, recocojie!"}


4.总结

 使用Heroku部署standalone的jar包是非常方便的,不信你也试试。

dropwizard-demo:使用gradle管理的dropwizard演示 Dropwizard-demo 一个由gradle管理的dropwizard演示应用程序。 立即下载

相关推荐

Autoware.universe部署03:与Carla(二进制版)联调

本文介绍了 Autoware.universe 与 Carla 二进制版的联调过程。Autoware.universe 是一个开源的自动驾驶软件平台,而 Carla 则是一个用于自动驾驶仿真的开源工具。将这两者联调起来可以在仿真环境中测试和验证 Autoware.universe 的功能和性能,为自动驾驶系统的开发和测试提供有力支持。

zardforever123的博客 7368

IntelliJ IDEA 如何运行 Dropwizard API

在命令行工具中运行 Dropwizard 项目的命令为: java -jar target/target-1.0-SNAPSHOT.jar server config.yml 在上面命令中,我们添加了 2 个运行参数和命令 server config.yml IDEA 因此,如果你需要在 IDEA 中也能够运行项目。 你需要在项目中添加上面的 2 个参数和命令。 如果上图显示中的位置来添加你的参数和命令。 随后就可以在控制台中看到你项目的运行了。 IntelliJ IDE

HONEY MOOSE 1054

使用STM32微控制器实现光电传感器的接口和数据处理

本文将介绍如何使用STM32微控制器实现光电传感器的接口和数据处理的方案,包括硬件设计、引脚配置、数据采集、滤波和阈值判断等关键步骤,并给出相应的代码示例。本文将介绍如何使用STM32微控制器实现光电传感器的接口和数据处理的方案,包括硬件设计、引脚配置、数据采集、滤波和阈值判断等关键步骤,并给出相应的代码示例。在光电传感器的接口和数据处理的实现过程中,要关注系统的性能。在使用STM32微控制器实现光电传感器的接口和数据处理之前,需要设计一个合适的硬件平台。

weixin_66608063的博客 3200

Dropwizard 直接run 运行配置【IDEA】

run的时候出现:在idea里配置:有的同学可能不知道Intellij 程序参数怎么更改,截图教大家搞定之后就可以运行了

玲听鑫声的博客 1259

WorkVisual传输程序报错_发现一个内部错误

WorkVisual传输程序报错_发现一个内部错误

qq_16401025的博客 2452

从jieba分词到BERT-wwm——中文自然语言处理(NLP)基础分享系列(12)

今天是本系列的最后一期,完整代码呈现Huggingface transformers平台上微调BERT-wwm-ext的过程方法。

weixin_49518391的博客 3763

Docker 部署DropWizard

FROM index.alauda.cn/alauda/ubuntu MAINTAINER hongxiao.shou "shouhongxiao@163.com" COPY jdk-7u65-linux-x64.tar.gz /home/jdk.tar.gz COPY inmysql.tar.gz /home/ RUN cd /home && tar -xzvf jd...

weixin_34226182的博客 234

工业自动化实战:用LabVIEW的DSC模块实现MODBUS-TCP设备控制

本文详细介绍了如何利用LabVIEW的DSC模块实现工业自动化中的MODBUS-TCP设备控制。通过环境准备、核心功能解析、状态机实现及典型工业场景实战,帮助工程师快速掌握稳定可靠的通讯技术,提升工业自动化系统的运行效率。

salt9的博客 1057

Java微服务开发指南-使用Dropwizard构建微服务

    Dropwizard的历史要早于Spring Boot和WildFly Swarm,它最早是在2011.12发布的v0.1.0版本,在本文编写的过程中,它已经发布了v0.9.2版本,而v1.0.0版本也在准备中了。Dropwizard是Coda Hale在Yammer公司时创立的,它旨在提升公司分布式系统的架构(现在叫:微服务)。虽然它最早被用来构建REST Web 服务,而现在它具备了越来越多的功能,但是它的目标始终是作为轻量化、为生产环境准备且容易使用的w

WeiPeng2K的博客 1322

北斗导航 | 卫星信号捕获跟踪原理解析

卫星信号的捕获与跟踪是导航接收机的"眼睛",其性能直接决定定位精度、动态适应性和抗干扰能力。随着北斗三号全球组网完成,新一代接收机正朝着。两大核心阶段,二者共同构成定位的基础。调制,频谱主瓣宽度达4.092MHz,较传统BPSK调制抗干扰能力提升3dB[38]。的目标持续演进,在自动驾驶、精密农业等领域展现出巨大应用潜力。二维空间中搜索峰值相关能量[4]。卫星导航接收机对信号的处理可分为。北斗三号B1C/B2a信号采用。北斗三号新增的B1C信号采用。

尘世冰封的专栏 772

5.3-集群电源模式解析

DSU-120 DynamIQ™集群支持9种电源模式,包括正常运行(ON)、完全断电(OFF)、三种数据保持模式(FUNC_RET、FULL_RET、MEM_RET)、两种调试模拟模式(OFF_EMU、MEM_RET_EMU),以及系统恢复模式(WARM_RST、DBG_RECOV)。这些模式通过智能管理电源状态,在保持数据完整性的同时实现功耗优化,并为系统调试和故障恢复提供支持。不同模式在RAM保持、逻辑断电和调试能力方面各有侧重,满足从正常运行到深度调试等不同场景需求。

baron-周贺贺-代码改变世界ctw 116

Dropwizard(一)教程-简单搭建

dropwizard 框架的搭建 简单的hello-world程序, 数据库操作和视图层操作以后有机会,再接着写

sf_cyl的博客 1万+

3. LangGraph快速入门

本示例中,我们将使用 Claude Sonnet 4.5 模型,并定义加法、乘法、除法工具。# 定义工具@toolArgs:"""@toolArgs:"""@toolArgs:"""# 为大模型绑定工具图的状态用于存储消息和大模型调用次数。LangGraph 中的状态在整个智能体执行过程中保持持久化。使用带的Annotated类型可以确保新消息追加到现有列表,而不是替换列表。模型节点用于调用大模型,并决定是否调用工具。return {],

Long_像风一样自由 842

Dropwizard框架入门

最近项目用到了Dropwizard框架,个人感觉还不错,那么这里就从他们官网入手,然后加上自己的实现步骤让大家初步了解这个框架。 官网对DW(Dropwizard)的定义是跨越了一个库和框架之间的界限。他的目标是提供一个生产就绪的web应用程序所需的一切性能可靠的实现。那么这句话可能有些绕,我个人理解就是他能免去我们部署web应用的很多步骤。由于这个功能被提取到可以重复使用的库中,我们的应用程序

MOON 2万+

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

Dropwizard 框架

Dropwizard 框架简介

u013275869的博客 2089

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Dropwizard:用Java轻轻的写一个RESTful Service

在我的上一篇博客《 Embedded Server:像写main函数一样写Web Server》中,提到了使用Jetty Embedded Server进行Java Web Server的开发比传统的Web Container的方式进行开发的优势。如果直接使用Jetty提供的API进行Web Server的开发,特别是RESTful service的开发,难免看起来还是简单粗暴了一些。

kiwi_coder 1万+

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Dropwizard官方教程(一) 入门

转载:https://www.jianshu.com/p/3bb308c9bbcb 入门 本文将指导您完成一个简单的Dropwizard的Hello World项目。在此过程中,我们将解释各种底层库及其作用,以及Dropwizard中的重要概念,并建议一些组织技术来帮助您的项目能持续健康地增长。 概览 Dropwizard跨越了作为lib库和框架之间的界限。其目标是为生产就绪的Web应用程...

Flyer的后花园 3432

构建易于扩展的REST风格的后端

什么是Dropwizard? Dropwizard 是一个开源的Java框架,用于开发OPS友好、高性能的基于REST的后端。它是由Yammer开发的,来驱动基于JVM的后端。 Dropwizard提供同类最佳的Java库到一个嵌入式应用程序包。它由以下部分组成: 嵌入式Jetty:每一个应用程序被打包成一个jar(而不是war)文件,并开始自己的嵌入式Jetty容器。没有任何w

西红柿炒土豆 1125

dropwizard 本地服务构建运行

一、创建Maven项目 1. 2. 3. 4.在pom.xml引入dropwizard架包 <dependency> <groupId>io.dropwizard</groupId> <artifactId>dropwizard-core</artifactId> <ver...

纵与横的博客 492

使用Dropwizard搭建一个Hello World

在开始之前我们需要准备一些环境,以下为本次所需相关工具: 系统:windows 7 JDK:1.8 开发工具:IntelliJ IDEA 2017.2.5 Maven:idea自带最新版本,采用本地化setting.xml(可以参考阿里巴巴的源配置,这样创建项目时自动下载要快很多倍) 本次编写demo参考依据为Dropwizard官网 下面我们开始进入正题,创建第一个基于Dropwizard的He...

CN華少的博客 671

Dropwizard,MongoDB和Gradle实验

介绍 我使用Dropwizard,MongoDB和Gradle创建了一个小项目。 它实际上是从一个实验性的Guava缓存开始的,作为将计数器发送到MongoDB(或任何其他DB)的缓冲区。 我也想尝试MondleDB插件的Gradle。 接下来,我想创建某种接口来检查此框架,因此我决定尝试使用DropWizard。 这就是该项目的创建方式。 本文不是使用任何选定技术的教程。 这是一个小展...

最佳 Java 编程 419

在Heroku上部署Java应用-部署Java

原文:https://devcenter.heroku.com/articles/java 本篇文章是使用Java与嵌入式服务器Jetty在Heroku上部置应用的快速入门。 本篇本章使用的样例代码在Github上:https://github.com/heroku/devcenter-java。 关于Jetty的使用,我发现了一篇很好的文章:http://blog.youkuaiyun.com/kon

飘痕 5157

微服务 Dropwizard 配置<十>

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34130389的博客 420

Dropwizard框架新手学习教程(详细版)

(留坑待更。。。。。) 一.Dropwizard简介: 1. Dropwizard 是一个开源的Java 框架; 2. 用于开发易于运维,高性能的RESTful网络服务; 3. 它由Yammer开发; 4. 它增强了基于JVM 的后端服务,集合了来自Java 生态系统中的稳定和成熟的程序库,组成 了简单,轻量级的程序包,使得用户可以专注于把事情做好; 5. Dropwizard

zwbHUST的博客 2706

如何更好的在dropWizard使用IOC容器

如何更好的在dropWizard使用IOC容器dropwizard介绍 dropWizard是由Yammer开发团队贡献的一个后台服务开发框架,其集成了Java生态系统中各个问题域中最优秀的组件,帮助开发者快速的打造一个Rest风格的后台服务。 对开发者来说,使用DropWizard有如下好处: 和Maven集成良好,也就是说和Gradle集成也很良好; 开发迅速,部署简单; 代

胖蜗牛,慢慢爬 2121

AI智能体技术解析与2026行业爆发预测

AI智能体作为具备自主决策和工具使用能力的数字生命体,正在重塑人机交互范式。其技术栈通常分为三层:底层大模型提供认知能力,中间层框架降低开发门槛,上层应用对接具体场景。通过RAG(检索增强生成)和RLHF(人类反馈强化学习)等关键技术,智能体可以高效解决领域特定问题并实现目标导向行为。这种架构在客服、医疗、法律等垂直领域展现出巨大商业价值,预计到2026年将迎来爆发式增长。随着LangChain等开发框架的成熟和多智能体协作机制的发展,AI智能体正在从技术演示转向实际生产力工具,推动人机协作比例向70/30

weixin_33933118的博客 394
上一篇: Dropwizard:用Java轻轻的写一个RESTful Service
下一篇: Dokku:搞一个你自己的'Heorku'
kiwi小白
博客等级 码龄14年 153粉丝 154原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值