使用 Java/Spring 与 WebSphere MQ 交互并尝试向其发送消息,Spring 不断向其添加以下标头信息:
RFH Ì ¸MQSTR ¸ <mcd><Msd>jms_text</Msd></mcd> <jms><Dst>queue:///MY.QUEUE.INFORMATION.TEST</Dst><Rto>queue:///MY.QUEUE.INFORMATION.TEST</Rto><Tms>123456789</Tms><Dlv>2</Dlv></jms>BEGINNING_OF_MY_PAYLOAD
我将如何删除所有内容并仅发送我的有效负载?人们可以在上面的代码片段中将我的有效负载称为BEGINNING_OF_MY_PAYLOAD.
这是我正在使用的功能:
public void sendMessage(final String text) {
this.jmsTemplate.send(new MessageCreator() {
@Override
public Message createMessage(Session session) throws JMSException {
Message message = session.createTextMessage(text);
destination = session.createQueue("MY.QUEUE.INFORMATION.TEST");
springJmsConsumer.setDestination(destination);
message.setJMSReplyTo(destination);
return message;
}
});
}
Run Code Online (Sandbox Code Playgroud) 我已经阅读了关于该主题的其他 stackoverflow 问题,但我真的对不完整的类型和这个 C++ 规范段落 §5.3.5/5 感到困惑:
如果被删除的对象在删除点具有不完整的类类型,并且完整的类具有非平凡的析构函数或释放函数,则行为未定义。
举个例子, .h :
template<class T> class my_scoped_ptr
{
private:
T *t;
public:
my_scoped_ptr(T * _t) : t(_t) {}
~my_scoped_ptr() {
typedef char type_must_be_complete[ sizeof(T)? 1: -1 ];
(void) sizeof(type_must_be_complete);
delete t;
}
};
class Holder
{
public:
Holder();
~Holder();
private:
class Impl;
my_scoped_ptr<Impl> _mptr;
};
Run Code Online (Sandbox Code Playgroud)
.cpp
class Holder::Impl {};
Holder::Holder() : _mptr(new Impl) {}
Holder::~Holder() {}
Run Code Online (Sandbox Code Playgroud)
类 Holder 的非内联析构函数是如何突然让 Impl 完成的?为什么默认析构函数不足以使类完整?为什么 shared_ptr 在不需要析构函数的情况下工作得很好?
我的Odoo v8模块上有这个代码:
@api.multi
def button_generate_wh_doc(self):
context = self._context
partner = self.env['res.partner']
res = {}
for inv in self:
view_id = self.env['ir.ui.view'].search([
('name', '=', 'account.invoice.wh.iva.customer')])
context.update({
'invoice_id': inv.id,
'type': inv.type,
'default_partner_id': partner._find_accounting_partner(
inv.partner_id).id,
'default_name': inv.name or inv.number,
'view_id': view_id,
})
res = {
'name': _('Withholding vat customer'),
'type': 'ir.actions.act_window',
'res_model': 'account.wh.iva',
'view_type': 'form',
'view_id': False,
'view_mode': 'form',
'nodestroy': True,
'target': 'current',
'domain': "[('type', '=', '" + inv.type + "')]",
'context': context
}
return res
Run Code Online (Sandbox Code Playgroud)
这是一个按钮动作,但当我点击它时它会抛出我:
File "/home/user/odoov8/odoo-venezuela/l10n_ve_withholding_iva/model/invoice.py", line 427, in button_generate_wh_doc …Run Code Online (Sandbox Code Playgroud) 我在针对oracle 10g(10.2.0.1.0)运行以下SQL时遇到错误:
UPDATE fx_datumvcompgeneric AS c
SET mp = (SELECT p.mp
FROM fx_propertyattrsingletscomp AS p
WHERE c.var_container = p.id
)
WHERE c.mp IS NULL
Run Code Online (Sandbox Code Playgroud)
错误是: ORA-00971: missing SET keyword
我们通过JDBC执行此操作,异常堆栈的顶部是:
java.sql.SQLException: ORA-00971: missing SET keyword
oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288)
oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:745)
oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:207)
oracle.jdbc.driver.T4CStatement.executeForRows(T4CStatement.java:957)
oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1170)
oracle.jdbc.driver.OracleStatement.executeUpdateInternal(OracleStatement.java:1623)
oracle.jdbc.driver.OracleStatement.executeUpdate(OracleStatement.java:1588)
org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:225)
org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:225)
Run Code Online (Sandbox Code Playgroud) 我有一个项目POM,它指定一个指向沙箱位置的存储库标记.
<repositories>
<repository>
<id>mysandbox</id>
<name>Sandbox</name>
<url>http://myTestingSite.com/repositories/sandbox/</url>
</repository>
</repositories>
Run Code Online (Sandbox Code Playgroud)
这在Eclipse中工作正常并解析所有依赖项,但是当我尝试部署时,我得到以下异常.
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.5:deploy (default-depl
oy) on project myweb-web: Deployment failed: repository element was not specified in the POM insid
e distributionManagement element or in -DaltDeploymentRepository=id::layout::url parameter -> [Help
1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plug
ins:maven-deploy-plugin:2.5:deploy (default-deploy) on project myweb-web: Deployment failed: repos
itory element was not specified in the POM inside distributionManagement element or in -DaltDeployme
ntRepository=id::layout::url parameter
Run Code Online (Sandbox Code Playgroud)
在Distributionmanagement元素中包含它没有任何意义,因为我使用存储库来进行依赖项解析而不是部署.
我创建了一个arraylist和一个ListView.我打算遍历ListView,检查它们是否被检查,然后将对象(使用ListView.getItem())添加到我的arraylist.但是我得到一个NullPointerException.ArrayList people_selected,在类顶部声明如下:
ArrayList<PeopleDetails> selected_people;
Run Code Online (Sandbox Code Playgroud)
我的代码:
for (int i = 0; i < people_list.getCount(); i++) {
item_view = people_list.getAdapter().getView(i, null, null);
chBox = (CheckBox) item_view.findViewById(R.id.checkBox);//your xml id value for checkBox.
if (chBox.isChecked()) {
selected_people.add((PeopleDetails) people_list.getItemAtPosition(i));
}
}
for(PeopleDetails person : selected_people){
SmsManager sms = SmsManager.getDefault();
sms.sendTextMessage(person.number, null, sms_message, null, null);
}
///and now need to write party to file.
Run Code Online (Sandbox Code Playgroud)
我在线上得到一个错误
for(PeopleDetails person:selected_people)
说"NullPointerException".我认为这意味着arraylist是null,并且无法弄清楚为什么它应该为null.我是否在课堂上声明错了?或者我的选择和添加方法有问题?
我正在使用Hibernate和Spring开发一个项目; 单个屏幕,一个bean,但有两个表.我想知道Hibernate是否可以在一次调用中更新两个 MySQL表?
如果是这样,我如何编写以下bean(模型)来更新两个表!
用户名和密码位于用户表中.用户名和启用位于权限表中.
以下是我的代码:
@Entity
@Table(name = "users")
public class User {
@Id
@GeneratedValue
@Column(name = "userid")
private Long userId; // in user and rights tables!
@NotEmpty(message = "User name must not be blank.")
@Size(max = 20)
@Column(name = "username", nullable = false, length = 20)
private String username; // in user table
@NotEmpty(message = "Password must not be blank.")
@Size(max = 20)
@Column(name = "password", nullable = false)
private String password; // in user table
@Column(name …Run Code Online (Sandbox Code Playgroud) 我是hibernate的新手,我试图使用以下代码更新映射对象,但它不会更新
factory = config.buildSessionFactory();
session = factory.getCurrentSession();
Transaction t = session.beginTransaction();
String hql = "UPDATE "+tableName+" SET "+columnName+" = '"+columnValue+"' WHERE id ="+id+";";
Query query=session.createSQLQuery(hql);
t.commit();
Run Code Online (Sandbox Code Playgroud)
我错过了什么吗?它不会崩溃也不会更新记录.
注意:我正在使用Hibernate3和Mysql
我试图弄清楚如何在Python中为我的函数编写单元测试 - 这里是下面的代码:
def num_buses(n):
import math
""" (int) -> int
Precondition: n >= 0
Return the minimum number of buses required to transport n people.
Each bus can hold 50 people.
>>> num_buses(75)
2
"""
bus = int()
if(n>=0):
bus = int(math.ceil(n/50.0))
return bus
Run Code Online (Sandbox Code Playgroud)
我正在尝试编写测试代码,但我的结果失败了 - 这是我开始使用的代码:
import a1
import unittest
class TestNumBuses(unittest.TestCase):
""" Test class for function a1.num_buses. """
def test_numbuses_1(self):
actual = num_buses(75)
expected = 2
self.assertEqual(actual, expected)
# Add your test methods for a1.num_buses here.
if …Run Code Online (Sandbox Code Playgroud) 我正在使用Spring和Hibernate开发一个简单的应用程序.IDE:Eclipse
我想要显示学生的日程安排.
时间表使用学生,科目,考试和班级表.
时间表包含:学生姓名,学生成绩,科目,课程,考试,时间,时间和日期.
我写了一个查询(使用> 1表),它将返回一条记录,此记录将显示为计划.
查询没问题(我在控制台上打印了对象).
我从.jsp获取一个NumberFormatException同时从列表中检索记录(列表从Controller发送)
1)从jsp列表中检索多个表值是否正确?如果这个错误,请建议正确的方法.
2)以下代码的任何部分的任何其他变化,这将能够满足我的需求?
3)做同样事情的其他任何方式.. ??
例外:
exception
org.apache.jasper.JasperException: An exception occurred processing JSP page /pages/studentschedule.jsp at line 301
298: </tr>
299: <c:forEach items="${scheduleList}" var="var">
300: <tr>
301: <td><b>${var.firstname }</b></td>
302: <td><b>${var.roll }</b></td>
303: <td><b>${var.subjectname }</b></td>
304: <td><b>${var.classname }</b></td>
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:568)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:470)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:238)
org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:262)
org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1265)
org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1016)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:965)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:859)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:883)
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:781)
javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
root cause
java.lang.NumberFormatException: For input string: "firstname"
java.lang.NumberFormatException.forInputString(Unknown Source)
java.lang.Integer.parseInt(Unknown Source)
java.lang.Integer.parseInt(Unknown Source)
javax.el.ArrayELResolver.coerce(ArrayELResolver.java:166)
javax.el.ArrayELResolver.getValue(ArrayELResolver.java:46) …Run Code Online (Sandbox Code Playgroud) 我有一个标记为类的方法 @Controller
@RequestMapping(value = "/addEvent", method = RequestMethod.POST)
public String addEvent(Model model,
@Valid @ModelAttribute("myEvent") Event event,
BindingResult result, RedirectAttributes redirectAttributes,
@RequestParam(required = true) Integer selectedEventTypeId,
@RequestParam(required = true) Integer selectedEventStatusId) {
if (result.getErrorCount() > 1 ){
return "eventDetailsAdd";
}
eventService.addEvent(event, selectedEventTypeId, selectedEventStatusId);
redirectAttributes.addAttribute("idEvent", event.getId());
redirectAttributes.addAttribute("message", "added correctly at " + new Date() );
return "redirect:eventDetails";
}
Run Code Online (Sandbox Code Playgroud)
如果我写下面的代码:
MockHttpServletRequestBuilder request = MockMvcRequestBuilders
.get("/addEvent");
ResultActions result = mockMvc.perform(request);
result.andExpect(MockMvcResultMatchers.status().isOk());
Run Code Online (Sandbox Code Playgroud)
我知道了:
java.lang.AssertionError: Status expected:<200> but was:<405>
at org.springframework.test.util.AssertionErrors.fail(AssertionErrors.java:60)
at org.springframework.test.util.AssertionErrors.assertEquals(AssertionErrors.java:89)
at org.springframework.test.web.servlet.result.StatusResultMatchers$5.match(StatusResultMatchers.java:549)
... …Run Code Online (Sandbox Code Playgroud) 给定一个表 ( MY_TABLE_A),它会在每次新插入时自动增加其 ID(即数据库中的第一条记录的 ID 属性为 1,第二条记录的 ID 属性设置为 2,第三条记录的 ID 属性设置为 3) . 我所说的 ID 是表的主键。
我还有另一个表 ( MY_TABLE_B),它引用了原始表的主键。当我尝试将两者都保留到我的 Oracle 数据库时,我得到一个org.hibernate.id.IdentifierGenerationException: ids for this class must be manually assigned before calling save()
我想要完成的事情:每当我将一个对象持久化到 时MY_TABLE_A,我想MY_TABLE_B插入一个具有相同 ID 的对象,MY_TABLE_A因为它是自动递增的(在插入之前不知道下一个值是什么)。澄清一下,表 A 中的一个 ID 应该只有表 B 中的一个匹配 ID
下面是我的一些代码片段:
头等舱:
@Entity
@Table(name = "MY_SCHEMA.MY_TABLE_A")
@Component
public class FirstClass implements Serializable {
@Id
@SequenceGenerator(name = "MY_SEQ", sequenceName = "MY_SCHEMA.MY_SEQ", allocationSize = 1)
@GeneratedValue(strategy = GenerationType.SEQUENCE, …Run Code Online (Sandbox Code Playgroud) 解决“ Scala中的功能编程”中发现的问题时:
实现isSorted,它检查Array [A]是否根据给定的比较函数进行排序:
def isSorted[A](as: Array[A], ordered: (A,A) => Boolean): Boolean
Run Code Online (Sandbox Code Playgroud)
在将我的答案与作者提供的以下解决方案进行比较时:
// Exercise 2: Implement a polymorphic function to check whether
// an `Array[A]` is sorted
def isSorted[A](as: Array[A], gt: (A,A) => Boolean): Boolean = {
@annotation.tailrec
def go(n: Int): Boolean =
if (n >= as.length-1) true
else if (gt(as(n), as(n+1))) false
else go(n+1)
go(0)
}
Run Code Online (Sandbox Code Playgroud)
我对以下代码行感到困惑: else if (gt(as(n), as(n+1))) false
我以为在Scala中使用函数作为参数时,实际上需要在当前函数范围之外定义一个单独的函数(即,定义了另一个函数gt需要执行的操作)?我gt在其他任何地方都看不到定义,那么它如何提供可用于的Boolean值isSorted?
我的假设是正确的,还是使用函数作为参数,我在这里完全缺少什么吗?非常感谢详细的解释。