我的protobuf消息中有一些重复元素.在运行时,消息的长度可以是任何东西 - 我看到一些已经问过的问题 - [1]:最大序列化Protobuf消息大小
Kubernetes新手(或者更基本的网络)问题: 在我的局域网(在IP地址192.168.0.20上)运行的ubuntu盒上安装了单节点minikube(0.23版本)和virtualbox.
minikube start命令也成功完成
minikube start
Starting local Kubernetes v1.8.0 cluster...
Starting VM...
Getting VM IP address...
Moving files into cluster...
Setting up certs...
Connecting to cluster...
Setting up kubeconfig...
Starting cluster components...
Kubectl is now configured to use the cluster.
Run Code Online (Sandbox Code Playgroud)
minikube仪表板也成功上映.(运行于192.168.99.100:30000)
我想要做的是从我的macbook(在192.168.0.11上运行)访问同一局域网中的minikube仪表板.
此外,我想从互联网访问相同的minikube仪表板.
对于局域网访问: 现在根据我的理解我使用的是virtualbox(默认的vm选项),我可以使用vboxnet命令更改网络类型(使用端口转发进行NAT)
VBoxManage modifyvm "VM name" --natpf1 "guestssh,tcp,,2222,,22"
Run Code Online (Sandbox Code Playgroud)
由于上市这里
就我而言,它将是这样的
VBoxManage modifyvm "VM name" --natpf1 "guesthttp,http,,30000,,8080"
Run Code Online (Sandbox Code Playgroud)
我在这里思考的是正确的思路吗?
另外,为了远程访问相同的minikube仪表板地址,我可以设置no-ip.com类似的服务.他们要求在Linux机箱上安装他们的实用程序,并在路由器设置中设置端口转发,这将从主机端口转发到访客端口.那是对的吗?我错过了什么吗?
我正在使用Java Util日志记录,每当我做这样的声明时
logger.log(Level.INFO, "print this number = {0}", number);
Run Code Online (Sandbox Code Playgroud)
它将我的号码从278487683165614格式化为278,487,683,165,614
在搜索日志时这非常烦人.
我可以阻止这样做吗?请帮忙.
异步JMS(Java消息服务)使用者与实际MDB(消息驱动Bean)之间是否存在任何差异.我看到的唯一区别是MDB类具有@MessageDriven异步JMS使用者没有的注释.
还有我遗失的其他东西?
我已阅读此帖,但它没有回答我的问题. 带有实例变量的无状态会话bean 我正在阅读JEE5教程,在这个页面上它说明 http://download.oracle.com/javaee/5/tutorial/doc/bnbly.html "然而,客户端可能会改变实例的状态池化无状态bean中的变量,并且该状态将保留到池化无状态bean的下一次调用中 "
我不同意这一点.因为我认为在不同的bean实例的调用中保持"任何"状态是你需要'有状态'的会话bean.
请提前帮助我理解这个问题
让我们说Thread-1在对象上同步
synchronize(object){
//statement1
//statement2
//statement3
}
Run Code Online (Sandbox Code Playgroud)
如果Thread-1在statement2上崩溃,对象上的锁会发生什么?当发生这种情况时,JVM会自动释放Thread-1上的锁吗?因为否则如果Thread-2正在为要释放的对象锁定并且Thread-1崩溃,则Thread-2将永远等待.
我正在使用Spring MVC 4.1.5及其REST支持尝试使用谷歌协议缓冲区消息格式的Web服务.我看过很多帖子都提到了JSON格式的这个问题,但没有一个用google协议缓冲区格式.另外我没有看到Spring框架文档有一个用于protobufs的MediaType(下面有更多内容)我的代码发布在github上
这是我的控制器代码(使用或不使用produce ="application-xprotobuf"没有区别 - 相同406不可接受的错误)
@RestController
@RequestMapping("/ws")
@EnableWebMvc
public class CustomerRestController {
@Autowired
private CustomerRepository customerRepository;
//@RequestMapping(value="/customers/{id}", method = RequestMethod.GET, produces="application/x-protobuf")
@RequestMapping(value="/customers/{id}", method = RequestMethod.GET)
public CustomerProtos.Customer customer(@PathVariable Integer id) {
return this.customerRepository.findById(id);
}
@Bean
ProtobufHttpMessageConverter protobufHttpMessageConverter() {
return new ProtobufHttpMessageConverter();
}
private CustomerProtos.Customer customer(int id, String f, String l, Collection<String> emails) {
String emailAddressString = "defaultEmail@address.com";
for (String email : emails) {
emailAddressString = email;
break;
}
EmailAddress emailAddress = CustomerProtos.Customer.EmailAddress.newBuilder()
.setType(CustomerProtos.Customer.EmailType.PROFESSIONAL).setEmail(emailAddressString).build();
return CustomerProtos.Customer.newBuilder().setFirstName(f).setLastName(l).setId(id).addEmail(emailAddress)
// .addAllEmail(emailAddresses) …Run Code Online (Sandbox Code Playgroud) 将Web服务公开为无状态会话bean是否存在与线程安全相关的好处?
(如果我错了,请纠正我)但我认为Web服务不是线程安全的,并且像Servlet一样,服务器只创建一个Web服务类实例(每个请求不是一个实例).
我不知道它们是否是从像无状态bean这样的bean池中分配的 - 是由app服务器提供的.我试图找到是否将@Stateless annoation与已经使用@WebService注释注释的Web服务一起使用 - 这将迫使应用服务器开始为每个传入请求从池中分配它们.这样我就知道我会为每个传入的请求创建一个单独的实例吗?
annotations web-services jax-ws stateless-session-bean java-ee
我正在运行以下测试以 HH:mm am/pm 格式解析时间,所有 3 个测试在 Java 8 (1.8.0_282) 中都通过,但在最新的 Java 11_0_11 版本中第二和第三个测试失败,只有非常简单的测试(第一次测试没有am/pm info) 在 Java 11 中传递。此外,我正在运行 Oracle JDK 11 以及 AdoptOpenJDK 11,结果相同。
我有传入的 JSON 有效负载包含(作为字符串)之前和之后的 am/pm 信息。我需要从它们中解析出本地时间,然后将本地时间相互比较,看看一个是否在另一个之前。
@Test
public void testLocalTime1() { //passed with java8 and java 11
LocalTime localTime = LocalTime.parse("11:15", DateTimeFormatter.ofPattern("HH:mm"));
System.out.println(localTime);
}
@Test
public void testLocalTime2() {//passed with java8 only, failed with java 11
LocalTime test = LocalTime.parse("8:00 am".toUpperCase(),
DateTimeFormatter.ofPattern("h:mm a"));
System.out.println(test);
}
@Test
public void testLocalTime3() {//passed with java8 only, failed with java …Run Code Online (Sandbox Code Playgroud) java ×3
java-ee ×2
annotations ×1
datetime ×1
ejb ×1
ejb-3.0 ×1
java-ee-5 ×1
javabeans ×1
jax-ws ×1
jms ×1
kubernetes ×1
logging ×1
networking ×1
rest ×1
session ×1
spring-mvc ×1
stateless ×1
virtualbox ×1
web-services ×1