Поскольку ExecutorService.shutdown () недостаточно, а ExecutorService.shutdownNow () делает слишком много, я думаю, вам нужно что-то написать в середине: запомните все свои представленные задачи и удалите их вручную после (или до) вызова shutdown()
.
We add almost in our all application/products additional attribute/field support for given flexibility to user
Как и у нас есть категория продукта, в категории покупатель может определить дополнительный атрибут любого продукта.
то, что мы делаем на уровне БД:
В таблице категорий есть дополнительные столбцы, например: Text1Att, Text2Att ... для поддержки текстового значения, Num1Att, Num2Att ... для поддержки числового значения, Date1Att, Date2Att ... для поддержки значения datetime, ID1Att, ID2Att ... поддержка идентификатора из другой таблицы, например, вы можете добавить раскрывающийся список, список, ...
здесь все столбцы имеют тип данных String.
то, что мы храним здесь, это
, мы будем хранить здесь метаинформацию, например, для Text1Att мета
SSN; текстовое поле; 50; true; false; Null;
Заголовок поля; Тип элемента управления; Максимальная длина; Обязательное поле; Требуется пользовательская проверка; Пользовательское сообщение проверки;
место рождения; текстовое поле; 100; истина; истина; недопустимое значение;
То же самое для числового поля ...
для даты метаинформация будет выглядеть так
дата рождения; управление календарем; истина; истина; недействительная дата;
Заголовок поля; Управление календарем или может быть другим; требуется; это настраиваемая проверка; Пользовательское сообщение проверки;
В таблице продукта добавляется такое же количество столбцов и тип данных text1Att, .. is varchar, num1Att имеет числовой, date1Att имеет datetime, ID1Att имеет int
Что мы делаем со стороны GUI, так это : На странице определения категории добавьте этот атрибут, создайте метаинформацию во время выполнения и сохраните в таблице категорий.
С другой стороны, когда мы определяем продукт в категории, метаинформация будет считываться и перемещаться из таблицы категорий и заполняться на странице определения продукта, как и другие поля.
Если вам нужна дополнительная помощь, я могу предоставить вам изображения, чтобы Вы лучше поймете, как это можно сделать.
мы переживаем и анализируем, это очень гибкий подход
Иметь таблицу, в которой хранятся имена и типы полей.
field_ID INT
field_name VARCHAR
field_type ENUM('int','float','text','richtext')
Иметь таблицу, в которой хранится ссылка на запись в таблице записей, ссылка на запись в поле table и значение поля.
fieldvalue_fieldID INT
fieldvalue_recordID INT
fieldvalue_value BLOB
Сделать его доступным для поиска - еще одна проблема - вам нужно будет взять любой доступный для поиска контент из этого fieldvalue_value и проиндексировать его. Это будет зависеть от базы данных. В MySQL вы можете сделать это значение ТЕКСТОМ и добавить к нему индекс MySQL FULLTEXT.