Tag: protocol buffers

将Google原型缓冲区与Jersey / JAX-RS相结合

目前我有一个RESTful Web服务,其端点通过Jersey / JAX-RS公开: @Path(“/widgets”) public class WidgetResource { @GET List getAllWidgets() { // gets Widgets somehow } @POST Widget save(Widget w) { // Save widget and return it } } 我使用Jackson将我的POJO序列化/反序列化为JSON,我的服务都响应并将我的POJO作为application/json发回。 我现在希望可能使用Google协议缓冲区(或等效技术)来帮助压缩/优化客户端和服务之间的通信,因为JSON /文本相当庞大/浪费。 实际上,我有一个由“微服务”架构组成的大型后端; 数十种REST服务相互通信; 这就是为什么我希望优化在所有这些之间来回发送的消息。 所以我问:是否仍然可以让Jersey / JAX-RS提供我的服务端点,但要删除Jackson / JSON的内容并用Google协议缓冲区替换它? 如果是这样,这段代码可能是什么样的?

在Eclipse IDE中使用maven / m2e从.proto自动生成Java

对于我的团队,我想配置maven / eclipse构建以从*.proto文件(在使用gRPC的项目中)自动生成Java代码。 目前需要运行mvn generate-source或mvn protobuf:compile (如插件使用页面 )。 或者什么是相同的添加运行配置来调用maven目标compile 。 每当Eclipse Maven项目刷新( Alt + F5 )或IDE重新启动时,项目都会重建,但不会出现在target/generated ,从而将项目变为红色。 因此需要生成并刷新项目( F5 )。 更新Eclipse需要在.clathpath文件中配置源文件夹。 据我所知,应该是m2e连接器,但我只能找到一个https://github.com/masterzen/m2e-protoc-connector,用于最早的Google s plugin com.google.protobuf.tools:maven-protoc-plugin ,甚至在https://github.com/grpc/grpc-java上都没有提到 我们使用完全引用/推荐 org.xolstice.maven.plugins protobuf-maven-plugin 那是: kr.motd.maven os-maven-plugin 1.4.1.Final org.xolstice.maven.plugins protobuf-maven-plugin 0.5.0 com.google.protobuf:protoc:3.1.0:exe:${os.detected.classifier} grpc-java io.grpc:protoc-gen-grpc-java:1.0.1:exe:${os.detected.classifier} compile compile-custom 有关: 链接到Eclipse中生成的Java protobuf代码 看了这个,但是那个作者正在使用其他较旧的,现在不支持的插件: 由protobuf生成的代码引起的Eclipse构建循环(与Maven Project Builder相关) PPS插件https://github.com/igor-petruk/protobuf-maven-plugin但是有继续https://github.com/os72/protoc-jar-maven-plugin