我是Websphere MQ(IBM z/OS)技术的新手。我们需要实现一个独立的应用程序,该应用程序使用JMS技术连接到一个MQ服务器(在IBM z/OS上,由一个不同的组织维护,我们只有有限的访问权限),并将一条消息放到队列中。
下面是我的代码片段。
private void sendMessage(String queue, String msg) {
JmsFactoryFactory ff = JmsFactoryFactory.getInstance(WMQConstants.WMQ_PROVIDER);
JmsConnectionFactory cf = ff.createConnectionFactory();
cf.setStringProperty(WMQConstants.WMQ_HOST_NAME, host);
cf.setIntProperty(WMQConstants.WMQ_PORT, port);
cf.setStringProperty(WMQConstants.WMQ_CHANNEL, channel);
cf.setIntProperty(WMQConstants.WMQ_CONNECTION_MODE, WMQConstants.WMQ_CM_CLIENT);
cf.setStringProperty(WMQConstants.WMQ_QUEUE_MANAGER, queueManagerName);
cf.setStringProperty(WMQConstants.USERID, user);
cf.setStringProperty(WMQConstants.PASSWORD, password);
Connection connection = null;
Session session = null;
Destination destination = null;
MessageProducer producer = null;
connection = cf.createConnection(user, password);
session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
destination = session.createQueue(queue);
//((MQDestination)destination).setCCSID(37);
producer = session.createProducer(destination);
TextMessage message = session.createTextMessage();
message.setIntProperty(WMQConstants.JMS_IBM_CHARACTER_SET, 37);
//message.setIntProperty(WMQConstants.JMS_IBM_ENCODING, 785);
message.setText(msg);
// Start the connection
connection.start();
// And, send the message
producer.send(message);
}
请帮助我如何将消息放入EBCDIC格式。
更重要的是,如果您的接收方不是Java客户端,则需要禁用JMS头,如下所示:
目的地=session.createqueue(“queue:///”+queue+“?targetclient=1”)
或者通过调用本机MQ实现:
http://www-01.ibm.com/support/knowledgecenter/ssfksj_7.0.1/com.ibm.mq.csqzaw.doc/jm10910_.htm
用数组和for循环 有溪流 一般来说,我知道ArrayList有开销,这可能导致数组的最小大小在看到增益之前。此外,如果有更好的方法来执行流操作或迭代。不确定forEach在这种情况下是否有效,因为它是一个终端操作,我需要按照array/arrayList的原始顺序捕获结果。
有一些可以读取EDCDIC文件的解决方案,比如-https://github.com/rbheemana/cobol-to-hive,但是当EDCDIC文件包含偏移长度不相等的行时,这种方法就失败了。 我编写了MapReduce作业来读取EBCDIC文件,并通过读取基于偏移量值的每一行来转换为CSV/Parquet,因此所有行的长度都是固定的,下面是示例代码 当输入的EBCDIC文件不能被偏移量(
我正试图按照官方文档设置一个Spark独立集群。 我的主人在一个运行ubuntu的本地vm上,我也有一个工作人员在同一台机器上运行。它是连接的,我能够在大师的WebUI中看到它的地位。 以下是WebUi图像- 我已经在两台机器上的/etc/hosts中添加了主IP地址和从IP地址。我遵循了SPARK+独立集群中给出的所有解决方案:无法从另一台机器启动worker,但它们对我不起作用。 我在两台机器
我正在使用CCDT文件连接到队列。
假设我有3个简单的SparkML模型,它们将使用相同的数据帧作为输入,但彼此完全独立(在运行序列和使用的数据列中)。 我想到的第一件事是,只需使用阶段数组中的3个模型创建一个管道数组,然后运行总体拟合/变换来获得完整的预测等等。 但是,我的理解是,因为我们将这些模型作为序列堆叠在单个管道中,Spark不一定会并行运行这些模型,即使它们彼此完全独立。 也就是说,有没有办法并行拟合/转换3个独立模型?