请,我需要有关序列化数据的帮助。
我有一个名为Foo的类,它定义了3个属性:
public int age;
public String name;
public String description;
如何序列化此对象,但没有其描述字段?
提前致谢!
答案 0 :(得分:61)
使用关键字transient
:
public transient String description;
答案 1 :(得分:8)
定义描述如下
public transient String description;
检查http://en.wikibooks.org/wiki/Java_Programming/Keywords/transient
答案 2 :(得分:3)
你只需要制作一个transient
。
示例:
public transient String description;
答案 3 :(得分:3)
将变量标记为transient
,因为Transient
变量未序列化。
public transient int age;
答案 4 :(得分:1)
有时候,我们需要某些我们不想在网络流期间进行序列化的字段。
Ex .
class userDetail{
public String userName;
public transient String password;
}
在这里,我们不想序列化密码。 将该字段设置为瞬态以从序列化中删除。
string mqtt = "mqtt+ssl://b-9d9f9270-1bef-4b4d-b180-719d4c7498e4-1.mq.ap-southeast-1.amazonaws.com:8883";
IConnectionFactory factory = new NMSConnectionFactory(new Uri(mqtt), clientId);
IConnection connection = factory.CreateConnection(uname, password);
ISession session = connection.CreateSession();
IDestination destination = session.GetDestination("topic://" + topic);
// IMessageConsumer consumer = session.CreateConsumer(destination);
IMessageProducer producer = session.CreateProducer(destination);
try
{
connection.Start();
producer.DeliveryMode = MsgDeliveryMode.Persistent;
ITextMessage request = session.CreateTextMessage(message);
request.NMSCorrelationID = "observation";
request.Properties["NMSXGroupID"] = "observation";
request.Properties["myHeader"] = "observation";
producer.Send(request);
Console.WriteLine(message);
}
Apache.NMS.NMSConnectionException: No IConnectionFactory implementation found for connection URI: mqtt+ssl://b-9d9f9270-1bef-4b4d-b180-719d4c7498e4-1.mq.ap-southeast-1.amazonaws.com:8883/
at Apache.NMS.NMSConnectionFactory.CreateConnectionFactory (System.Uri uriProvider, System.Object[] constructorParams) [0x00043] in <53effb06f12a48e4933cd883c0e27b12>:0