这是一个很长的问题和我希望解决的奇怪问题。我的客户将一个 JSON 对象发布到我的服务器。我保存报告并在我的 jms 中使用为其他目的生成的 id,但是当我的添加成功时有时会得到空 id。我怎样才能防止这种情况?
在我的域中
int id
String reportImage
Date reportDateTime;
static constraints = {
id(blank:false, unique:true)
reportImage (blank:true, nullable:true)
reportDateTime (blank:false)
}
def afterInsert = {
id= this.id
}
在我的控制器中,我有
JSONObject json = request.JSON
AddReportService svc = new AddReportService()
def id= svc.addReport(json)
json.put("id",id)
jmsService.send(queue:'msg.new', json.toString())
在我的添加报告服务中,
JSONObject obj = report
Reports reports = new Reports()
...
reports.save(flush:true)
myid = reports.id
return myid
在我的 jms 中,
def jmsService
static transactional = false
static exposes = ['jms']
@Queue(name='msg.new')
def createMessage(msg) {
JSONObject json = new JSONObject(msg)
int id = json.get("id") // sometimes is null, but report was added. How to prevent?
AlertManagement am = new AlertManagement()
am.IsToSendAlert(id)