Я в настоящее время использую RTI DDS в системе, где у нас будет одна основная тема для нескольких элементов, например car topic
с несколькими номерами vin
. Поскольку это проект, я пытаюсь затем создать "keyed" topic
, который в основном является темой, в которой член действует как ключ (вроде первичного ключа в базе данных), который в этом примере будет vin
каждого автомобиля. Для реализации keyed topics
я использую файл IDL, который выглядит следующим образом,DDS Keyed Topics
const string CAR_TOPIC = "CAR";
enum ALARMSTATUS {
ON,
OFF
};
struct keys {
long vin; //@key
string make;
ALARMSTATUS alarm;
};
Когда я бегу IDL файл через rtigen
инструмент для создания C, Java и т.д. вид файлов из IDL, единственное, что я могу сделать, это запустить программу и увидеть
Writing keys, count 0
Writing keys, count 1 ...
и
keys subscriber sleeping for 4 sec...
Received:
vin: 38
make:
alarm : ON
keys subscriber sleeping for 4 sec...
Received:
vin: 38
make:
alarm : ON ...
Таким образом, трудно понять, как работают ключевые темы, и если они действительно работают вообще. Кто-нибудь имеет какой-либо вклад, что делать с файлами, созданными из файлов ID, чтобы сделать программу более функциональной? Также я никогда не вижу тему CAR
, поэтому я не уверен, что использую правильный синтаксис для установки темы для DDS.
жаль, что я имел в виду, что есть '** classname ** Publisher.java', и все, что я могу действительно делать с файлами по умолчанию, запускает этот класс издателя. Поэтому в основном я должен подключаться к этим классам и использовать их в этом. Его тип генератора классов, например jaxb per say, где они не предназначены для запуска программы, но дополняют то, что вы хотите сделать? – jgr208
OK - обратите внимание, что это '** classname ** Publisher.java' чисто предназначено в качестве примера для вас. Он не должен использоваться в вашем приложении. Если вы хотите понять различные фрагменты кода в этом примере, я предлагаю вам ознакомиться с разделом «Программирование How-To's» в разделе «Модули» в справочном руководстве. См. Http://community.rti.com/rti-doc/500/ndds/doc/html/api_java/ –
ahh ok, спасибо. Я знал, что делаю это правильно, но не знал, что делать после того, как создаются классы, это очень помогло. Так что я могу перезаписать то, что там, и читателю, если мне нравится правильно? – jgr208