Class loading using java data cartridges
First Claim
Patent Images
1. A method comprising:
- receiving, by a computer system, executable instructions for a first query that an invocation of a first method, expressed in a first programming language;
receiving, by the computer system, executable instructions for a second query that includes an expression that specifies an invocation of a second method expressed in a second programming language that differs from the first programming language; and
executing, by the computer system, the executable instructions for the first and second queries in the context of an application;
wherein a first repository contains metadata specifying a compile-time component for a first programmatic class that includes the first method;
wherein a second repository, separate from the first repository, contains metadata specifying a compile-time component for a second programmatic class that includes the second method;
reading, during a compilation process, context information specified in the metadata contained in the first repository; and
passing, by a runtime engine, following the compilation process, the context information in the invocation of the first method.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques for loading Java classes referenced in a continuous query. In one set of embodiments, the Java classes can be loaded based on a class space defined for an application considered to be in scope for the query. In another set of embodiments, the Java classes can be loaded based on a server class space that includes all exported classes visible to the event processing system executing the query.
370 Citations
19 Claims
-
1. A method comprising:
-
receiving, by a computer system, executable instructions for a first query that an invocation of a first method, expressed in a first programming language; receiving, by the computer system, executable instructions for a second query that includes an expression that specifies an invocation of a second method expressed in a second programming language that differs from the first programming language; and executing, by the computer system, the executable instructions for the first and second queries in the context of an application; wherein a first repository contains metadata specifying a compile-time component for a first programmatic class that includes the first method; wherein a second repository, separate from the first repository, contains metadata specifying a compile-time component for a second programmatic class that includes the second method; reading, during a compilation process, context information specified in the metadata contained in the first repository; and passing, by a runtime engine, following the compilation process, the context information in the invocation of the first method. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method comprising:
-
receiving, by a computer system, executable instructions for a first query that (a) is continuously executable relative to stream-specified events as those events are received by the computer system and (b) includes an expression that specifies both (i) an invocation of a compile method that is expressed in a programming language other than a native query processing language and (ii) an invocation of a second method, also expressed in the programming language, relative to a first object returned by the compile method, said first object being an instance of a first programmatic class; receiving, by the computer system, executable instructions for a second query that includes an expression that specifies an invocation of a third method relative to a second object, said second object being an instance of a second programmatic class that differs from the first programmatic class; and executing, by the computer system, the executable instructions for the first and second queries in the context of an application, wherein the executing comprises determining whether to load the first and second programmatic classes according to an application class space mode or according to a server class space mode; wherein a first repository contains metadata specifying a compile-time component for the first programmatic class; wherein a second repository, separate from the first repository, contains metadata specifying a compile-time component for the second programmatic class; and wherein loading the first programmatic class according to the application class space mode comprises; in response to determining that the first programmatic class is referenced solely by a local name in the query, (1) attempting, in a first attempt, to load the first programmatic class by searching for the local name in an unnamed package of the application class space; (2) in response to determining that the first attempt has failed, attempting, in a second attempt, to load the first programmatic class by searching for the local name in the application'"'"'s internal classpath, regardless of package; and (3) in response to determining that the second attempt has failed, attempting, in a third attempt, to the load the first programmatic class by searching for entries in the manifest file that, in conjunction with the local name, are useable for identifying the first programmatic class.
-
-
12. A system comprising:
-
a first repository containing metadata specifying a compile-time component for a first programmatic class that includes a first method; a second repository, separate from the first repository, containing metadata specifying a compile-time component for a second programmatic class that includes a second method; and a processor configured to; read, during a compilation process, context information specified in the metadata contained in the first repository; receive executable instructions for a first query that includes an expression that specifies an invocation of the first method expressed in a first programming language; receive executable instructions for a second query that includes an expression that specifies an invocation of the second method expressed in a second programming language that differs from the first programming language; execute the executable instructions for the first and second queries in the context of an application; and pass, by a runtime engine, following the compilation process, the context information in the invocation of the first method. - View Dependent Claims (13, 14)
-
-
15. A non-transitory computer-readable storage medium having stored thereon instructions executable by a processor, the instructions comprising:
-
instructions that cause the processor to read, during a compilation process, context information specified in metadata contained in a first repository containing metadata specifying a compile-time component for a first programmatic class that includes a first method expressed in a first programming language; instructions that cause the processor to receive executable instructions for a first query that includes an expression that specifies an invocation of the first method; instructions that cause the processor to receive executable instructions for a second query that includes an expression that specifies an invocation of a second method expressed in a second programming language that differs from the first programming language; and instructions that cause the processor to execute the executable instructions for the first and second queries in the context of an application; and instructions that cause the processor to pass, by a runtime engine, following the compilation process, the context information in the invocation of the first method; wherein a second repository, separate from the first repository, contains metadata specifying a compile-time component for a second programmatic class that includes the second method. - View Dependent Claims (16, 17)
-
-
18. A method comprising:
-
receiving, by a computer system, executable instructions for a first query that an invocation of a first method, expressed in a first programming language; receiving, by the computer system, executable instructions for a second query that includes an expression that specifies an invocation of a second method expressed in a second programming language that differs from the first programming language; and executing, by the computer system, the executable instructions for the first and second queries in the context of an application; wherein a first repository contains metadata specifying a compile-time component for a first programmatic class that includes the first method; wherein a second repository, separate from the first repository, contains metadata specifying a compile-time component for a second programmatic class that includes the second method; reading information specified in the metadata contained in the first repository; and performing, based on the information specified in the metadata contained in the first repository, type checking relative to the first query. - View Dependent Claims (19)
-
Specification