小编win*_*nna的帖子

JMeter与远程服务器

我正在尝试以分布式模式设置JMeter.我有一个运行ec2 intance的服务器,我希望主服务器在我的本地计算机上运行.我不得不跳过一些希望让RMI在服务器上正常工作但是通过将"java.rmi.server.hostname"设置为ec2实例的IP来解决.

下一个(希望是最后一个)问题是服务器与主服务器进行通信.

问题是,因为我是从内部网络执行此操作,所以当它应该发回我的外部连接的IP时,主机正在发送其本地/内部IP地址(192.168.1.XXX)(92.XXX.XXX. XXX).

我可以在jmeter-server.log中看到这个:

错误 - jmeter.samplers.RemoteListenerWrapper:testStarted(host)java.rmi.ConnectException:连接拒绝主机:192.168.1.50; 嵌套异常是:

那个主机IP是错误的.它应该是92.XXX.XXX.XX地址.我假设这是因为在主日志中我看到以下内容:

2012/07/29 20:45:25 INFO - jmeter.JMeter:IP:192.168.1.50名称:XXXXXX.local全名:192.168.1.50

并且在RMI设置期间将此IP发送到服务器.

所以我认为我有两个选择:

  1. 告诉主设备发送外部IP
  2. 告诉服务器连接主服务器的外部IP.

但我看不出在哪里设置这些命令.

任何帮助都会有用.

testing jmeter amazon-ec2

12
推荐指数
3
解决办法
3万
查看次数

startTimeMillis不再在Google InApp订阅续订中更新

这个问题与Google对象中的startTimeMillis字段有关Purchases.subscriptions

如果用户通过Android购买商品,则该应用会将购买数据发送到我们的后端进行验证和处理。Google的响应表单是一个Purchases.subscriptions包含如下所述数据的对象:https : //developers.google.com/android-publisher/api-ref/purchases/subscriptions 在此对象中,有两个字段startTimeMillisexpiryTimeMillis

如果购买的详细信息在预定时间之后从后端发送到Google expiryTimeMillis,则我们将获取更新后的新对象expiryTimeMillis。这意味着我们正处于“下一个”续订期。我们的后端使用此新数据创建新记录。工作正常。

但是,我在数据库记录中看到了一些奇怪之处。并在我们编写的代码中。

在上面链接的文档中,它指出startTimeMillis是订购的初始购买日期。因此,如果我今天购买了订阅,那么“ startTimeMillis”将是今天,而“ expiryTimeMillis will be 1 month from now. If I bought the subscription 3 months ago today, then thestartTimeMillis will be 3 months ago and theexpiryTimeMillis”将是从今天起1个月-基本上是两个日期之间有4个月。

但是,这种一致的时间价值startTimeMillis只是在今年才发生。我的订阅已使用了一年多,去年购买的所有商品从那时起一直在更新,从那时起,我的订阅具有不同的价值startTimeMillis。基本上,该startTimeMillis字段始终是当前更新周期的开始时间。

然后在1月中旬的某个时候停止了。在startTimeMillis现在显示订阅购买时间。我有数百个这样的订阅。

这到底是什么时候发生的?又为什么呢?另外,我找不到任何文档,也没有注意到此更改已发生。有人可以阐明这里发生的事情吗?

android subscription in-app-purchase auto-renewing google-play

5
推荐指数
0
解决办法
182
查看次数

Grails/GORM域保存 - 瞬态对象变通方法

我找到了解决问题的方法,我想知道它是否有效.这是一个类似的问题:Grails Gorm:Object引用一个未保存的瞬态实例

让我们假设我有两个域对象(名称已更改以保护有罪).

public class Shelf {
    String name
    Set<Book> books = [] as Set

    static hasMany = [books: Book]
}
Run Code Online (Sandbox Code Playgroud)

public class Book {
    String title
    Shelf shelf
}
Run Code Online (Sandbox Code Playgroud)

所以这意味着1个书架包含0到多本书,而一本书只能在一个书架上.

这个架子非常大.在某些时候,它包含80,000本书.全部存储在DB中.当然,添加新书变得越来越慢.

这是通过:

  Book book1 = new Book("Awesome Title")
  existingShelf.addToBooks(book1)
  existingShelf.save(flush: true)      // super slow
Run Code Online (Sandbox Code Playgroud)

这很慢.主要是(我假设),因为GORM必须确认其他80,000条记录.

所以我这样做试图解决慢点问题.

  Book book2 = new Book("Awesome Title 2")
  book2.save(flush: true)
Run Code Online (Sandbox Code Playgroud)

这给了我一个"对象引用一个未保存的瞬态实例",我认为这是有道理的 - "架子"值是空的.

所以我做了一些有点奇怪的事情:

  Book book3 = new Book("Awesome Title 3")
  book3.shelf = new Shelf()
  book3.shelf.id = <known/valid id here>
  book2.save(flush: true) …
Run Code Online (Sandbox Code Playgroud)

database grails grails-orm

3
推荐指数
1
解决办法
1156
查看次数